7

重複の可能性:
コピー アンド スワップ イディオムとは何ですか?
C ++でコンストラクターと=演算子のオーバーロードをコピーします:共通関数は可能ですか?

コピー コンストラクターと代入演算子の本体に、実際にコードを重複させずに (関数ヘッダーを除いて) 同じコードを含める方法はありますか?

4

3 に答える 3

4

1 つの一般的な方法は、コピー アンド スワップ イディオムです。スワップ操作を実装する必要がありますが、正しく実行すると、例外安全な割り当てができるという追加の利点があります。

于 2011-02-22T01:01:50.623 に答える
0

関数を作成する

    init(various parameters you need){
...
//common initializing process
}

次に、すべてのコンストラクター、コピー、代入演算子からこの関数を呼び出します

于 2011-02-22T01:03:57.730 に答える
-3

機能を別のメソッドに配置し、コピー コンストラクターと代入演算子コードの両方から呼び出します。

または、コピー コンストラクターから代入演算子を呼び出すこともできます。

于 2011-02-22T00:58:07.487 に答える