什么是命名空间
在刚开始学C++时,对命名空间甚是迷惑,但写得久了后就当成习惯了,并未探究其本质。
在C语言中并未引入using namespace的概念,C语言中所有的全局标识符共享一个作用域,不同文件可通过extern关键字进行关联。
而在C++中当使用iostream时,由于该头文件没有定义全局命名空间,所以必须使用namespace std,这样才能正确的使用一些变量,例如cout,如果不引入,则需要std::cout。
命名空间的定义:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
为何需要命名空间?
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。
所以需要使用命名空间将变量进行分离,从而避免冲突的发生。
例如:
hao::qinger = 1;
jing:yi = <