4 ms·
Move constructors are allowed to call the moved object's destructor. Not necessarily like the example given, but Object a {std::move(x)}; x.push_back(4);
by zelly 8y ago
Move constructors are allowed to call the moved object's destructor.
Not necessarily like the example given, but
Object a {std::move(x)};
x.push_back(4);
could/should segfault.
- ncmncm 8y agoNo, move constructors are never allowed to call the moved-from argument's destructor. Ever. Sometimes the compiler calls that destructor after it has finished the move, if the thing is no longer in scope. That should not be confused with a thing happening in the constructor.