ホームページ > バックエンド開発 > C++ > C クラスで定数静的文字列変数を適切に初期化するにはどうすればよいですか?

C クラスで定数静的文字列変数を適切に初期化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-05 02:42:13
オリジナル
939 人が閲覧しました

How to Properly Initialize Constant Static String Variables in C   Classes?

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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート