C++ コピーコンストラクタと代入演算子

コピーコンストラクタと代入演算子の違いは以下。

  • コピーコンストラクタは未初期化のオブジェクトに値をコピーする。
  • 代入演算子は初期化済みのオブジェクトに値をコピーするため、コピー前に自オブジェクト(左辺、this)の破壊が必要である。

コピー前の破壊を忘れるとメモリリークの原因となるので要注意。また、どちらも自分自身へのコピーのガードも入れるのを忘れないようにした方がよい。

コメント

コメントする

CAPTCHA