I have this snippet of code in my code base:
inline void Widget::setParent(Widget& roWidget)
{
auto upoSelf = m_poParent->remove(*this);
upoSelf->m_poParent = &roWidget;
roWidget.m_aupoChildren.emplace_back(std::move(upoSelf));
}
In this situation, upoSelf is going to always be a std::unique_ptr to the object that this points to. So in essence, Widget::setParent has behaviour that handles the Widget object inside of its own function.
I'm wondering if there is any kind of UB or rules about how this works.
Aucun commentaire:
Enregistrer un commentaire