在 C 中使用 C 頭檔:全域命名空間或 std:: 命名空間?
在 C 中,使用 C 頭檔只需少量即可修改它們的名稱,例如,stdio.h 變成 cstdio。這就提出了一個問題:在 C 程式碼中呼叫 C 函式時,使用 std:: 命名空間中的函式還是全域命名空間中的函式更好。
說明:
根據C 11 標準,所有「name.h」形式的C 頭檔名稱都會自動放置在全域命名空間中,以與C 標準庫兼容。但是,標準沒有指定這些名稱是首先在 std:: 命名空間中聲明或定義,然後注入全域命名空間,還是反之亦然。
建議:
根據標準的建議,建議優先包含「cname」標頭(例如 cstdio)並使用 std::命名空間中的聲明和定義原因如下:
示例:
首選方法是:
#include <cstdio> int main() { std::printf("Hello world\n"); }
結論:
雖然可以使用全域命名空間或std:: 命名空間,但更建議遵循 C標準的建議,並更喜歡將 cname 標頭與 std:: 命名空間聲明和定義一起使用。
以上是C 中的 C 標頭:全域命名空間還是 std:: 命名空間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!