プライベート メンバー ptr、name、pname、rname、crname、および age を持つクラスを考えます。明示的な初期化が省略された場合、これらのメンバーは、関数のローカル変数と同様に、それぞれの型に基づいたデフォルト値で初期化されます。
クラス オブジェクト (名前など) (文字列) は、デフォルトのコンストラクターを使用して自動的に初期化されます。この場合、name は空の文字列として初期化されます。 ptr などのポインターや age などの整数を含むプリミティブ型は、明示的に初期化されません。これらは、以前にメモリ位置に存在していた任意の値をすべて保持します。
オブジェクトやプリミティブ型とは異なり、rname や crname などの参照は明示的に初期化する必要があります。参照の初期化を省略すると、正しく機能するには有効な参照が必要なため、コンパイラ エラーが発生します。
提供された例では、
暗黙的なメンバーの初期化を理解することは、正しくバグのないコードを書くために重要です。明示的な初期化を省略すると、クラスのメンバーに型に基づいてデフォルト値を割り当てることができます。ただし、特に参照を操作する場合は、エラーやデータの不整合を避けるために、暗黙的な初期化の制限を認識することが重要です。
以上がC で暗黙的に初期化されるクラス メンバーのデフォルト値は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。