次のような関数があります。これは、移動セマンティクスによってコピー不可能なクラスを返します。
MyClass&& MyFunction() {
MyClass myClass;
do some stuff;
return std::move(myClass);
}
そして、それはによってアクセスされます
main() {
MyClass myClass = MyFunction();
}
このクラスはコピー防止に利用boost::noncopyable
されます。コンストラクター、ムーブ コンストラクター、ムーブ代入があります。私の問題は、デストラクタが移動コンストラクタの前に呼び出されることです。私は何を間違えましたか?