「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C++ で静的 `const std::string` データ メンバーを初期化する方法

C++ で静的 `const std::string` データ メンバーを初期化する方法

2024 年 12 月 21 日に公開
ブラウズ:904

How to Initialize Static `const std::string` Data Members in C  ?

型 const std::string の静的データ メンバーの宣言

C では、クラス定義内で直接 const std::string 型の静的データ メンバーを初期化します。許可されていません。代わりに、そのようなデータ メンバーを定義するには 2 つのオプションがあります:

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

クラス定義内で静的メンバーを定義および初期化するインライン変数を使用します:

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

外部定義

クラス定義の外側で静的メンバーを定義し、別の実装ファイルに初期化子を指定します:

ヘッダー ファイル

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

実装ファイル

const string A::RECTANGLE = "rectangle";

クラス内初期化の制限

クラス定義内で静的データ メンバーを初期化する構文は、整数型と列挙型でのみサポートされます。 const std::string のような非整数型の場合、このアプローチは無効です。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3