C クラスの静的変数の初期化
C では、静的クラス変数はクラス定義の外部でのみ初期化できます。ただし、クラス内で定数を維持する必要がある文字列変数を扱う場合、これにより問題が生じる可能性があります。この問題に対処するために、これらの変数をソース ファイルのクラス外で初期化できます。
// Inside the class header file (.h) class Thing { static const string RE_ANY; static const string RE_ANY_RELUCTANT; }; // In the source file (.cpp) const string Thing::RE_ANY = "([^\n]*)"; const string Thing::RE_ANY_RELUCTANT = "([^\n]*?)";
重要な注意点の 1 つは、変数が定数であることを意図しており、クラス メソッドによって変更されるべきではない場合、静的にする代わりに const キーワードを使用することをお勧めします。静的変数はクラスのすべてのインスタンス間で共有されますが、const 変数は非 const メソッドからもアクセスできますが、変更することはできません。
以上がC クラスで定数静的文字列変数を適切に初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。