首页 > 后端开发 > C++ > 正文

C : std:: 中的 C 头文件与全局命名空间 - 哪种方法更好?

Susan Sarandon
发布: 2024-11-23 07:27:10
原创
362 人浏览过

C Headers in C  :  std:: vs. Global Namespace - Which Approach is Better?

在 C 中导航 C 头文件:std:: 与全局命名空间

在 C 中使用 C 头文件时,会出现一个关于调用函数的首选方法:使用 std:: 命名空间或全局命名空间。虽然 C 通过更改标头名称(例如,将 stdio.h 更改为 cstdio)来支持包含 C 标头,但仍然需要考虑哪种方法更合适。

C 11 标准在 D 节中解决了此问题.5 [depr.c.headers],声明每个 C 头文件(名称格式为 name.h)的行为就像相应的 cname 头文件声明的每个名称都放置在全局命名空间中一样。但是,这些名称是否首先在 std 命名空间中声明或定义,然后注入到全局命名空间中仍然未指定。

例如,;标头确实在 std 命名空间内提供声明和定义,而 则提供了定义。 header 肯定会在全局命名空间中提供它们。

基于此信息,建议包含 cname 标头并使用 std 命名空间中的声明和定义。这确保了与未来修订版的兼容性,并遵循标准中概述的首选方法:

#include <cstdio>

int main() {
    std::printf("Hello world\n");
}
登录后复制

虽然在技术上可以接受使用 ;带有来自全局命名空间的声明和定义的标头,这种做法已被弃用,并且将来可能会被删除。

以上是C : std:: 中的 C 头文件与全局命名空间 - 哪种方法更好?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板