是'using namespace std;'标准的C ++函数?

时间:2010-02-23 03:16:39

标签: c++ namespaces

using namespace std;是标准的C ++函数吗?

3 个答案:

答案 0 :(得分:15)

没有。这就是所谓的using directive。我在标准中的§7.3.4中概述了:

  

using-directive指定指定命名空间中的名称可以在using-directive之后出现using-directive的范围内使用。在非限定名称查找(3.4.1)期间,名称看起来好像是在最近的封闭命名空间中声明的,其中包含using-directive和指定的命名空间。

本质上,它会将您指定的命名空间中的所有内容移入指令所使用的命名空间中。

答案 1 :(得分:0)

这不是一个功能。

以下

 using namespace std; 

关键字using用作引入整个命名空间的指令(在这种情况下为std)。

注意:始终更喜欢using 声明而不是using 指令

答案 2 :(得分:0)

没有函数是C ++语言的一部分;它是你写的东西或者已经写成库并且可供你使用的东西(比如标准C ++库)。这些库的功能和变量都存在于名为名称空间的隔离区中。要在命名空间内调用函数,请遵循语法namespace::function_name()语法。

E.g。 std::cout << "Hi!";

虽然您总是使用函数名称后跟括号内的函数调用函数,但是如果有函数,则将参数传递给函数。像function_name(args);一样。所以你问的是:不,这不是一个功能。

using namespace std指令(您可以将其视为编译器的声明,说明 std 命名空间内的任何内容都可以在没有任何限定符的情况下使用从这里开始直到这个编译单元结束(.cpp +头部关联的内容)即

std::cout << "Hello!";可以从那里用作cout << "Hello!";