を作り、私はクラスのコピー不能を作るためにこれを使用することもできます。C++ 11の前にクラス以外のコピー可能*と*非可動
private:
MyClass(const MyClass&);
MyClass& operator=(const MyClass&);
C++ 11で、私はそれを行うことができます
MyClass(const MyClass&) = delete;
MyClass& operator=(const MyClass&) = delete;
削除されたコピーと割り当てを持つクラスを使用する場合、デフォルトの移動演算子が生成される可能性はありますか?そして、クラスは正確にコピーされていませんが、結局のところ(これは類似しています)移動しましたか? ...
MyClass(MyClass&&) = delete;
MyClass& operator=(MyClass&&) = delete;
:
だから、私はデフォルトの移動の建設とassignmnentを防ぐために、これをしなければならないのですか?
§。個人的には、このようなものを 'NoCopyOrMove'というプライベートベースクラスに入れてしまい、コードが乱雑にならないようにします。 – MikeMB
'MyClass(MyClass &&)= delete;'は暗黙的に他のものを無効にします – sp2danny