c中using namespace std,c++using namespace std什么意思
c使用命名空间std-海明威-博客公园
c使用命名空间std首先说一下iostream.h和iostream,这两个预处理命令是#include by #。他们是不同的。它们实际上是两个文件,两个文件的内容也是不同的。的新C标准。显然不再支持h文件了。新标准旨在使用命名空间,但也是为了将其与C区区分开来。因此,规定使用。不使用h后缀。所以在使用iostream.h时,相当于在C中调用库函数,使用全局命名空间,也就是早期的C实现。使用iostream时,头文件没有定义全局命名空间,所以命名空间std必须使用;通过这种方式,可以正确使用cout等标识符。
第二,所谓的命名空间,其实就是各种标识符的可见范围,因为c++标准库中所有的标识符都是在std的命名空间中定义的。由于命名空间的概念,当使用c++标准库的任何标识符时,有三个选项:
1.直接指定标识符。例如std:ostream而不是ostream。完整的声明如下:
STD:cout STD:hex 3.4 STD:endl;
注意:这是一个完整的写法,开头不使用名称空间std。
2.使用using关键字
使用STD:cout;
使用STD:endl;
3.最常见的是使用名称空间std
例如#包含iostream
使用命名空间std
.
cout show msg endl
.
注意:通过这种方式,可以直接使用名称空间std中定义的标识符。
3.为什么iostream和iostream.h两种形式出现在最新标准的C中?原因是,由于标准库非常大,程序员选择的类或函数的名称很可能与标准库中的一个名称相同。所以为了避免这种情况导致的名称冲突,标准库中的所有内容都放在名称空间std中。但这会带来一个新的问题。无数的原始C代码依赖于使用多年的伪标准库的函数,它们都在全局空间中。
所以有iostream.h和iostream等头文件。第一个是兼容以前的C代码,第二个是支持新标准。名称空间std封装了标准库的名称,该名称通常不标有.以将其与前面的头文件区分开。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。