0

cpp の主なモットーの 1 つは、初期化されていない変数を避けることです。次に、変数を初期化しないため、コンパイラが提供するデフォルトのコンストラクターの使用は何ですか。

4

2 に答える 2

2

暗黙的に生成された既定のコンストラクターは、すべてのメンバーと基本クラスの既定のコンストラクターを呼び出します。それらは暗黙的に生成される場合と生成されない場合があります (つまり、一部のメンバー、またはメンバーのメンバーなどは、暗黙的に生成されていないデフォルト コンストラクター、つまり実際に何かを実行するコンストラクターを持つ場合があります)。

于 2013-11-08T02:44:52.437 に答える
1

デフォルトのコンストラクターが必要な状況がいくつかあります。例えば

MyClass arrayOfObjects[10];

ここでは、配列内のオブジェクトに新しい値を割り当てる場合でも、デフォルトのコンストラクターが呼び出されます。または、親コンストラクターを明示的に呼び出さない派生クラス ctor。または、変数の単純な宣言でさえ:

MyClass x; // calls default constructor
...
x = ..;
于 2013-11-08T02:45:43.817 に答える