“使用命名空间标准”有什么用处?

这个问题在这里已经有了答案:

  • 为什么“使用名称空间标准”被认为是不好的做法? 35个答案
  • 使用std命名空间15个答案

  • 使用 :您将使用它
  • 命名空间 :使用什么? 一个命名空间
  • stdstd命名空间(声明了C ++标准库的特性,例如stringvector )。
  • 在你编写这条指令后,如果编译器看到string它就会知道你可能指的是std::string ,如果它看到了vector ,它会知道你可能指的是std::vector 。 (当然,您已经在编译单元中包含了定义它们的头文件。)

    如果你不写它,当编译器看到stringvector它不会知道你在引用什么。 你将需要明确地告诉它std::stringstd::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

    上一篇: What is the use of "using namespace std"?

    下一篇: Is `using namespace foo;` useless?