ホームページ >バックエンド開発 >C++ >なぜ「const」は C では内部リンケージを意味するのに、C では外部リンケージを意味するのでしょうか?

なぜ「const」は C では内部リンケージを意味するのに、C では外部リンケージを意味するのでしょうか?

DDD
DDDオリジナル
2024-12-02 17:01:11714ブラウズ

Why Does `const` Imply Internal Linkage in C   but External Linkage in C?

Const が C では内部リンケージを暗示するのに C では暗黙しない理由

C では、'const' キーワードは定数変数またはオブジェクトを表します。 C とは対照的に、 C では、名前空間スコープでの定数の宣言は、外部リンケージではなく内部リンケージを意味します。

付録 C (C 11、C.1.2) には、この区別の背後にある理由が記載されています。

「明示的に const 宣言され、明示的に extern 宣言されていないファイル スコープの名前は内部リンケージを持ちますが、C では外部リンケージになります。 linkage."

この変更は、定数オブジェクトの明示的な初期化値を奨励するために導入され、C でのコンパイル時の値としての使用を活用しました。この機能は、複数のコンパイル単位に含まれるヘッダー ファイルに const オブジェクトを配置できるようにすることで、コードの編成を強化します。

以上がなぜ「const」は C では内部リンケージを意味するのに、C では外部リンケージを意味するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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