我有一个看起来像这样的函数,它通过movesemantics返回一个不可复制的类:
MyClass&& MyFunction() {
MyClass myClass;
do some stuff;
return std::move(myClass);
}
然后它被访问
main() {
MyClass myClass = MyFunction();
}
该类boost::noncopyable
用于防复制。它有构造函数、移动构造函数和移动赋值。我的问题是,析构函数在移动构造函数之前被调用。我做错了什么?