かなり前から提案は出ていましたが、N3090のWorking Draftから、 暗黙に定義される特殊メンバ関数に、ムーブコンストラクタとムーブ代入演算子が追加されることになりました。 つまり、以下のようなクラスがあった場合、 struct X { std::string s; }; Xは以下のようなメンバを持つクラスになります。 struct X { std::string s; X() : s() {} // デフォルトコンストラクタ X(const X& x) : s(x.s) {} // コピーコンストラクタ X(X&& x) : s(static_cast<std::string&&>(x.s)) {} // ムーブコンストラクタ // : s(std::move(x.s)) {} X& operator=(const X& x) { s = x.s; return *this;