C 中的 C 标头:命名空间注意事项
在 C 编程领域,包含 C 标头经常会带来语义问题:函数应该从 std:: 命名空间还是全局调用命名空间?
背景
C 是 C 的子集,因此,只需稍作修改即可在 C 中使用许多 C 函数和头文件。例如,stdio.h 变为 cstdio,stdlib.h 变为 cstdlib。
问题
在 C 中使用 C 头文件时,需要选择使用函数来自 std:: 或全局命名空间。例如, printf("Hello world!");和 std::printf("你好世界!");产生相同的输出。
答案
根据 C 11 标准,带有“name.h”的 C 标准库头的行为就好像它们包含的名称首先放置一样在 std:: 命名空间中。但是,未指定这些名称是否首先在 std:: 的全局命名空间中声明或定义,然后注入全局命名空间范围。
因此,建议包含“cname”标头(例如,
结论
总而言之,为了最佳的可读性和未来- 证明,在 C 中使用 C 标头时最好使用 std:: 命名空间。 “cname”标头和 std:: 命名空间提供了包含函数范围的明确且清晰的指示,从而增强了代码组织和清晰度。
以上是在 C 中调用 C 函数时应该使用 `std::` 还是全局命名空间?的详细内容。更多信息请关注PHP中文网其他相关文章!