我从cstdio的c++引用中看到这一行:

库的每个元素都在std namespace中定义。
但是我尝试了代码:

std::printf("hello world");

printf("hello world");

C++ header 将名称同时放在std和全局命名空间中是真的吗?

最佳答案

包括cstdio在内的符号名将在std命名空间中以及可能在Global命名空间中导入。
包括stdio.h在内的全局 namespace 中,可能还会在std命名空间中导入符号名称。
所有c样式的 header 都一样。

引用:
C++ 11标准
附件D(规范性)兼容性功能[depr] 指出:
D.6 C标准库头

其中包括:

进一步,

关于c++ - cstdio stdio.h命名空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10460250/

10-15 01:58