C++ コピーコンストラクタ
コピーコンストラクタが呼ばれる例。
- 値渡し引数
- 値渡し戻り値
- 初期化付き宣言
今 T
型を考え、コピーコンストラクタを T(T)
、代入演算子を T operator=(T)
とする。
この場合
T a; // デフォルトコンストラクタ T b = T(10); // コンストラクタ T(int)。その後コピーコンストラクタは通常呼ばれない。 T c = a; // コピーコンストラクタ a = c; // コピー・代入・コピー
代入演算子が T operator=(T&)
の場合
a = c; // 代入・コピー
代入演算子が T& operator=(T&)
の場合
a = c; // 代入
C++FAQ: 20.07, 33.07