“使用命名空间标准”有什么用处?
这个问题在这里已经有了答案:
std命名空间(声明了C ++标准库的特性,例如string或vector )。 在你编写这条指令后,如果编译器看到string它就会知道你可能指的是std::string ,如果它看到了vector ,它会知道你可能指的是std::vector 。 (当然,您已经在编译单元中包含了定义它们的头文件。)
如果你不写它,当编译器看到string或vector它不会知道你在引用什么。 你将需要明确地告诉它std::string或std::vector ,如果你不这样做,你会得到一个编译错误。
当您using namespace <some_namespace>;进行调用时using namespace <some_namespace>; 该名称空间中的所有符号将变为可见而不添加名称空间前缀。 符号可以是例如函数,类或变量。
例如,如果你添加using namespace std; 当调用命名空间std定义的operator cout时,您可以只写cout而不是std::cout 。
这是有点危险的,因为命名空间是为了避免名称冲突,并且using namespace编写代码,但是放弃了这个优点。 一个更好的选择是只使用特定的符号,从而使它们在没有命名空间前缀的情况下可见。 例如:
#include <iostream>
using std::cout;
int main() {
cout << "Hello world!";
return 0;
}
链接地址: http://www.djcxy.com/p/29775.html
