cstdio および stdio.h 名前空間
C 標準ライブラリには、std 名前空間内にさまざまなヘッダーが格納されています。ただし、C 言語由来のヘッダーに関しては独特の側面があります。
stdio.h と stdio.h の影響
cstdio ヘッダーを含めると、両方のシンボルがインポートされます。 std 名前空間、および場合によってはグローバル名前空間。逆に、stdio.h をインクルードすると、グローバル名前空間、場合によっては std 名前空間にシンボルが追加されます。これは、すべての C スタイルのヘッダーに適用されます。
付録 D の例外
C 11 標準の付録 D では、C 標準ライブラリ ヘッダーに関連する互換性機能が提供されます。これは次のように指定します。
「それぞれが name.h 形式の名前を持つすべての C ヘッダーは、対応する cname ヘッダーによって標準ライブラリの名前空間に配置された各名前がグローバル名前空間スコープ内に配置されているかのように動作します。 ."
言い換えると、stdio.h のような C スタイルのヘッダーは、std 名前空間とグローバル名前空間の両方にシンボルをインポートし、C との互換性を確保します。
以上がここでは、質問形式を試し、記事の重要な側面に焦点を当てた、いくつかのタイトル オプションを示します。 オプション 1: (直接的かつ有益) * stdio.h をインクルードすると両方の Glob に影響するのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。