在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 : std:: 中的 C 頭檔與全域命名空間 - 哪一種方法比較好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!