-3
対オペレータ:question移動割り当て私はこの見たコピー代入演算子
をしかし答え、私のようなC++の初心者のための非常に複雑があります。誰かが私を助けることができるなら、私はそれが欲しいです。
CLASSA & operator=(CLASSA && other); //move assignment operator
CLASSA & operator=(CLASSA other); //copy assignment operator
私はまだこれらの両方が必要な理由を理解できません。彼らは基本的に同じことをしますか?違いは何ですか?そして、あなたはどこを使っていますか?
答えはありませんが、コピー代入では代わりに 'const CLASSA&other'をパラメータとして使用する必要があります。 – HolyBlackCat
移動代入演算子を実装するとき、 'other'変数は一時的であることが知られており、呼び出されたときに破棄されようとしているという事実を利用できます。だからあなたが望むなら、あなたはこれを利用して、それをコピーするのではなく内容を「盗む」ことができます。あなたが有効な状態に 'other'を残す限り、(それはきれいに破壊することができます)あなたがしたことを認識するコードはありません。 –
同じことをしない*ときだけ、両方が必要です。 –