0001以下、5ちゃんねるからVIPがお送りします垢版 | 大砲2022/05/30(月) 10:53:16.959ID:TqnfbPTha class A { public: A(){} A(const A& a) { cout<< "Copied."; } } class B { A aaa; public: B(A& a) { aaa = a; } } これで A a; B b(a); ってやってもAのコピーコンストラクターが実行されないんだけどなんで? aaa=aってaをコピーしてaaaに入れるのではないんか?
0003以下、5ちゃんねるからVIPがお送りします垢版 | 大砲2022/05/30(月) 11:03:20.938ID:1+oOSecFa 代入演算子も定義しないとコピーコンストラクタ実行&代入にはならずにそのままコピぺされちゃうのか、
0004以下、5ちゃんねるからVIPがお送りします垢版 | 大砲2022/05/30(月) 11:11:39.029ID:mKu9mGaa0 単にAのA()で初期化されたインスタンスaが作成されて B.aaaにコピーされるだけじゃないの