ホームページ >バックエンド開発 >C++ >C でプライベート静的定数 `std::string` を定義する方法

C でプライベート静的定数 `std::string` を定義する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-27 09:36:13257ブラウズ

How to Define a Private Static Constant `std::string` in C  ?

型 const std::string の静的データ メンバーの定義

C では、クラスのプライベート静的定数を定義するのが難しい場合があります標準の const std::string 型を使用する場合。表示されるエラー メッセージは、使用されているメソッドが ISO C 標準に準拠していないことを示しています。

#define ディレクティブを使用せずにプライベート リテラル定数を定義するには、次の 2 つの方法を検討してください。

インライン変数 (C 17 以降)

C 17 以降、インライン変数は定数初期化子を使用して静的データ メンバーを宣言するために使用されます。これは、クラス定義内の静的宣言の前に inline キーワードを追加することで行われます。

class A {
private:
  inline static const std::string RECTANGLE = "rectangle";
};

クラス定義外の定義 (C 17 より前)

以前C 17、静的メンバーはクラス定義の外で定義し、個別に初期化する必要があります。クラス定義内の静的宣言は、初期化子なしで行われます:

class A {
private:
  static const std::string RECTANGLE;
};

// In an implementation file
const std::string A::RECTANGLE = "rectangle";

クラス定義内で非整数型の静的メンバーを直接初期化する構文は、整数型と列挙型でのみ許可されることに注意してください。

以上がC でプライベート静的定数 `std::string` を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。