私は1つのオブジェクトをインスタンス化し、他のオブジェクトからの値で初期化するとコピーコンストラクタは、3つのインスタンスCopy C++のコンストラクタは、オブジェクトが関数から返されたときに呼び出されますか?
- に呼ばれて理解しています。
- 値でオブジェクトを渡すとき。
3.オブジェクトが値によって関数から返されたとき。
オブジェクトの値が返されたときにコピーコンストラクターが呼び出された場合は、no.3の質問があります。オブジェクトが関数内でローカルに宣言されていれば、問題は発生しません。
iは、コピーコンストラクタが深いコピー一つであり、地元の人々が破壊される前に、いや、それはそれを呼び出す
C++標準では、コンパイラが特定の場合にコピーを最適化することができるため、コピーコンストラクタが呼び出されることは保証されていません。特に[戻り値の最適化](http:// en .wikipedia.org/wiki/Return_value_optimization) – rmp251
@ rmp251によって指摘された参照は、この質問に明確に答えています。 –