2

グローバルchar配列を宣言するのが間違っていなければ、その要素は\0に初期化されます。静的グローバルまたは静的ローカルを宣言する場合も同じです。しかし、静的フィールドはどうですか?

4

2 に答える 2

4

はい。C ++の用語では、フィールドは「データメンバー」と呼ばれます。

C ++ 03標準の9.4.2.7項​​には、「静的データメンバーは、非ローカルオブジェクトとまったく同じように初期化および破棄されます」と記載されています。

セクション3.7.1「静的ストレージ期間」には、「動的ストレージ期間もローカルでもないすべてのオブジェクトには静的ストレージ期間があります」と記載されています。

セクション3.6.2「非ローカルオブジェクトの初期化」には、「静的ストレージ期間を持つオブジェクトは、他の初期化が行われる前にゼロで初期化される必要があります」と記載されています。

したがって、データメンバーを他の何かに明示的に初期化しない場合、データメンバーはゼロで初期化された値を保持します。

于 2012-12-01T14:53:32.293 に答える
1

静的データメンバーは、初期化に関してグローバル変数と同じように扱われます。

于 2012-12-01T14:53:36.857 に答える