C では、名前空間スコープで宣言された const メンバー変数は、外部リンケージを持つ C とは異なり、内部リンケージ動作を示します。 。明確にするために、内部リンケージは識別子が宣言されている翻訳単位内でのみ使用できることを意味しますが、外部リンケージでは識別子を複数の翻訳単位間で参照できるようにします。
この区別は、特に固有の性質により生じました。 C の const オブジェクトの。 C 11 標準 (C.1.2) の付録 C で説明されているように、const オブジェクトがコンパイル時の定数として機能する機能は、C スタイルの動作からの脱却を促しました。 C では、const 名前空間スコープのオブジェクトの内部リンケージをデフォルトにすることで、プログラマが明示的な初期化値を指定することを奨励し、複数のコンパイル単位で参照されるヘッダー ファイルに const オブジェクトを簡単に含めることができます。
以上がC の「const」名前空間スコープ変数に内部リンケージがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。