C++クラスのデフォルトの(コンパイラによって暗黙的に定義された)コピーコンストラクタが、各メンバ変数のコピーコンストラクタを実行し、古い値を使用して各メンバのコピーされた値を取得し、 (intやfloatなど)C++の暗黙的に定義されたコピーコンストラクタは、メンバーのコピーコンストラクタを正しく呼び出しますか?
1
A
答えて
4
はい、それはまさにそれです。
3
はい。 C++のデフォルトのコピーコンストラクタは、その型の各メンバのメンバワイズコピー初期化です。
int
やfloat
などのプリミティブ型に対してコピーがどのくらい正確に行われたかについてはっきりと言えません。私の推測では、それは実装固有のものですが、ほとんどのコンパイラはちょっとビットコピーを行います。
[C++コピーコンストラクタ、他のオブジェクトを含むクラス]の複製可能性(http://stackoverflow.com/questions/1810163/c-copy-constructor-a-class-that-contains-other-objects) –
"デフォルトのコンストラクタ "はテクニカルコンストラクタであり、実際に*暗黙的に定義されたコピーコンストラクタ*を参照しているので、この質問を混乱させます*(ユーザまたは暗黙的に定義された)。 : "暗黙的にコピーコンストラクタがメンバーコピーコンストラクタを呼び出すかどうか"など。 –