Effective C++ Item 122009年07月29日 06時30分19秒

  • オブジェクトを複製するのに使われる関数は、基底クラスを含めて、正しく全てのメンバ変数を複製する必要がある。
  • 複製関数は目的が違うので、もしコードの重複を避けるためにもう一方を呼ぶ形で実装するのは避ける事。その様な場合は、第三の関数を別途作り、両方からそちらを呼ぶ。

C++ にはオブジェクトを複製する関数はコピーコンストラクタと代入演算子の二つがある。コピーコンストラクタは新しくオブジェクトを作る為、代入演算子は既にあるオブジェクトの値を更新する為にある。用途が違うため、片方のみを実装し、もう片方から呼び出すことは芳しくない。別の共通関数を作ってそちらを呼ぶ。

前回次回