在 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中文网其他相关文章!