C での C ヘッダーの移動 : std:: とグローバル名前空間
C で C ヘッダーを操作する場合、関数を呼び出すための推奨アプローチ: std:: 名前空間またはグローバル名前空間の使用。 C はヘッダー名を変更する (例: stdio.h から cstdio) ことによって C ヘッダーの組み込みをサポートしていますが、どちらのアプローチがより適切であるかについての意味論的な考慮事項は残っています。
C 11 標準ではセクション D でこの問題に対処しています。 .5 [depr.c.headers]、すべての C ヘッダー (name.h の名前形式を持つ) は、対応する cname ヘッダーによって宣言された各名前が、グローバル名前空間。ただし、これらの名前が最初に std 名前空間で宣言または定義されてから、グローバル名前空間に挿入されるかどうかは未指定のままです。
たとえば、
この情報に基づいて、cname ヘッダーを含めて、std 名前空間の宣言と定義を利用することが推奨されます。これにより、将来のリビジョンとの互換性が確保され、標準で概説されている推奨アプローチに従います。
#include <cstdio> int main() { std::printf("Hello world\n"); }
技術的には
以上がC の C ヘッダー: std:: とグローバル名前空間 - どちらのアプローチが優れていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。