14

Delphiでは、インスタンス変数とグローバル変数がゼロに初期化されることを知っています(これは以前にここで尋ねられました)。

しかし、静的変数(class var)はどうですか?グローバル変数と同じように、クラス変数はゼロに初期化されると思いますしかし、実際に保証を述べているドキュメントがなくても、まだ中途半端な状態で動作すると想定できない新しいDelphiコンパイラ機能が多すぎます。

ヘルプには「classvar」のインデックスエントリがありません。「フィールド」トピックではクラスフィールドについて言及していますが、プログラムの起動時に初期化されるかどうかは指定されていません。そして、それらを明示的に初期化するという明らかな修正(class var X: Integer = 0;)は、コンパイルされません( "';'が期待されますが、' ='が見つかりました")。

クラス変数はゼロに初期化されていますか?これを明示的に述べているドキュメントはありますか?

4

1 に答える 1

8

私はそれを明示的に述べているドキュメントを知りませんが、クラス変数は単なる特殊なタイプのグローバル変数であり、グローバルはゼロになります。

于 2009-06-26T15:39:21.610 に答える