【发布时间】:2017-07-16 00:39:21
【问题描述】:
当你执行命令时:
using namespace std;
您可以直接访问 std 命名空间的 所有 元素。但假设您只想使用std::cout 或std::endl,那么最好使用指令:
using std::cout;
using std::endl;
所以你只会得到你需要使用的对象,而不是全部。 我的问题是: 有没有办法查看使用命令时添加的内容:
using namespace std;
类似:(我知道这是非常错误的。)
#include <iostream>
using namespace std;
int main(){
cout << std;
return 0;
}
【问题讨论】:
-
你可以随时查看源代码。
-
C++ 语言规范中没有任何内容可以为您提供此功能。您将需要查看您正在使用的任何 C++ 编译器的文档。也许您的 C++ 编译器有一些特定于编译器的工具,您可以使用它们来获取这些信息。
-
唯一可用于列出命名空间中内容的真正工具是该命名空间中内容的文档。对于命名空间
std,该文档位于标准中(跨越数百页)和可在线获取的各种参考文档集。由于可以跨多个编译单元(和头文件)声明命名空间,因此编译器也可能无法看到命名空间中的所有内容。 -
一些
IDEs会为您提供命名空间 及其内容的树形视图。如果您打开一个头文件,您可以看到该文件中的所有内容。 -
您可以简单地在源代码中查找特定类
标签: c++ namespaces std using