【发布时间】:2021-09-26 07:41:43
【问题描述】:
在C++中,既然命名空间std包含了所有标准库函数的声明,那为什么还要包含iostream头文件才能使用I/O函数呢?难道我们不能只写“使用命名空间标准”以便编译器知道从哪里得到定义吗?如果该函数声明已经存在于 std 命名空间中,我想知道是否需要包含一个头文件以使用字符串等任何功能。
【问题讨论】:
-
这能回答你的问题吗? C++ namespace and include
-
相关问题stackoverflow.com/questions/31816095/… 顺便说一句:
using namespace xyz;与包含的效果完全不同;它只是改变了您引用现有符号的方式。即使没有using namespace std;,您也可以使用全名std::cout引用cout。如果您要问为什么符号在没有包含的情况下默认不可用:这是 C 诞生时做出的设计决定......当时的 pc 比现在的性能要低得多。
标签: c++ namespaces std header-files iostream