ホームページ >バックエンド開発 >C++ >C 17 インライン変数とは何ですか?また、それらはどのように機能しますか?

C 17 インライン変数とは何ですか?また、それらはどのように機能しますか?

DDD
DDDオリジナル
2024-12-27 13:35:10250ブラウズ

What are C  17 Inline Variables and How Do They Work?

インライン変数: 説明

インライン変数は、C 17 で導入された機能で、外部リンケージ、const 名前空間スコープ変数、またはヘッダー ファイル内の静的クラス データ メンバー。これにより、このような変数を inline キーワードで宣言するという以前の制限が克服されます。

インライン変数の仕組み

インライン変数を使用すると、クラスまたは名前空間内で変数を指定できます。外部リンケージがあるため、異なる翻訳単位で複数回定義できます。コンパイラは、これらの定義のうち 1 つだけが使用されるようにし、ヘッダーを複数のユニットに含める場合の複数の定義の問題を解決します。

インライン変数の宣言と使用

Inline変数は、インライン指定子に続いて変数の型と名前を使用して宣言されます。これらは通常、ヘッダー ファイルで定義されます。

例:

struct Kath {
    static inline std::string const hi = "Zzzzz...";
};

これは、Kath 構造体内で std::string const 型の静的インライン変数 hi を宣言します。インラインとしてマークされているため、ヘッダー ファイルで定義し、定義が競合することなく複数の翻訳単位に含めることができます。

インライン変数の利点

インライン変数が提供するメリット次の利点:

  • 外部リンケージを宣言するための簡素化された構文、 const 名前空間スコープ変数または静的クラス データ メンバー。
  • 同じ効果を達成するためにクラス テンプレートを使用するなどの回避策の必要がなくなります。
  • 変数定義を 1 か所 (ヘッダー ファイル).

以上がC 17 インライン変数とは何ですか?また、それらはどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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