C の C ヘッダー : 名前空間の考慮事項
C プログラミングの領域では、C ヘッダーを含めることでセマンティックな疑問が生じることがよくあります。関数は std:: 名前空間またはグローバルから呼び出す必要がありますかnamespace?
Background
C は C のサブセットであり、その結果、多くの C 関数とヘッダーを少し変更するだけで C で利用できます。たとえば、 stdio.h は cstdio になり、stdlib.h は cstdlib になります。
質問
C で C ヘッダーを操作する場合、関数を使用するかどうかの選択が生じます。 std:: またはグローバル名前空間から。たとえば、両方とも printf("Hello world!");そして std::printf("Hello world!");同じ出力が得られます。
Answer
C 11 標準によれば、「name.h」を持つ C 標準ライブラリ ヘッダーは、インクルード名が最初に配置されているかのように動作します。 std:: 名前空間内。ただし、これらの名前が最初に std:: のグローバル名前空間内で宣言または定義されてから、グローバル名前空間スコープに挿入されるかどうかは未指定です。
したがって、「cname」ヘッダー (例:
結論
要約すると、最適な読みやすさと将来のために-proofing では、 C で C ヘッダーを操作する場合は std:: 名前空間を使用することをお勧めします。 「cname」ヘッダーと std:: 名前空間は、含まれる関数の範囲を明示的かつ明確に示し、コードの構成と明瞭さを強化します。
以上がC で C 関数を呼び出す場合、`std::` またはグローバル名前空間を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。