質問:
コンパイラーによって自動的に生成されるデフォルトのコンストラクターを実行します。 C で組み込み型を初期化する?
答え:
いいえ、デフォルトのコンストラクター (ユーザー定義コンストラクターのないクラスのコンパイラーによって作成される) は、組み込み型のメンバーを初期化しません。
ただし、デフォルトを含まないクラス インスタンスを初期化するメカニズムが他にもあることに注意することが重要です。 constructor:
例:
次のクラスについて考えてみましょう:
class C { public: int x; };
コンパイラー- C 用に提供されたデフォルトのコンストラクターは初期化されませんC::x.
C c; // Compiler-provided default constructor is used // c.x contains garbage
対照的に、値初期化または集約初期化を使用すると、C::x:
C c = C(); // Uses value-initialization instead of default constructor // c.x == 0 C d{}; // Aggregate initialization // d.x == 0がゼロ初期化されます。
以上がC のデフォルトのコンストラクターは組み込み型メンバーを初期化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。