インターネットを検索したところ、ムーブ コンストラクターを定義する 3 つの方法が見つかりました。
コンパイラに依存:
T(T&& other) = default;
逆参照
this
ポインタ:T(T&& other) { *this = std::move(other); }
すべてのメンバーを明示的に再割り当てします。
T(T&& other) { T.a = other.a; T.b = other.b; //... }
どれが正しい方法ですか?(そして、2番目のものは正しいですか?)