クラス Graph があり、そのグラフのコピーが必要です。グラフ オブジェクトの内部を変更します (例: エッジの削除など)。グラフを実装するには 2 つの方法があります。
- コピー コンストラクター
- 「getGraph() { return new Graph(this)}」というメソッド。このメソッド getGraph は防御コピーを実行できます。
私の理解では、コピー コンストラクターの唯一の利点は、自由にコピーできることです。これは、グラフ オブジェクトを変更したくない場合、「getGraph」で防御コピーを行う必要がないことを意味します。
ここで私の質問に戻ります。
- コピー コンストラクターを使用する方が良いですか、それとも self オブジェクトのコピーを返す関数を使用する方が良いですか?
- なんで ?