1.1.1  何谓“命名空间”

1.1.1 何谓 命名空间

命名空间(Namespace)是指标识符的可见范围或者有效范围。定义命名空间的目的是为了防止出现名称冲突现象。命名空间是C++中一个较新的特性。为了将多个程序员开发的代码便捷、高效地组合起来,防止出现重复的函数名、类名等,命名空间将不同的代码封装在自己的有效范围内。

命名空间需要使用using来声明,并且每个命名均需要使用using。标准模板库(Stand-ard Template Library,STL)采用命名空间技术解决了大规模软件开发的难题。C++ STL内的所有标识符都被定义为一个名为std的命名空间中,因而可以直接使用指定的标志符号std。例如:

978-7-111-51399-5-Chapter01-1.jpg

如果在上述语句之前添加以下声明:

978-7-111-51399-5-Chapter01-2.jpg

那么上述语句可以写为:

978-7-111-51399-5-Chapter01-3.jpg

如果嫌麻烦,需要逐个声明名称,可以直接声明、使用命名空间std,例如:

978-7-111-51399-5-Chapter01-4.jpg

显而易见,使用C++标准库的命名空间std之后,可以任意使用标准库中的函数和变量。参见例1-1。

例1-1

978-7-111-51399-5-Chapter01-5.jpg

提示

在例1-1中,使用了命名空间std,即在main()函数前添加如下语句:

978-7-111-51399-5-Chapter01-6.jpg

之后在main()函数中,可以直接使用cout函数和endl函数。语句using namespace std可以放在源代码的任意位置,不同的位置代表std不同的有效范围。

总结

本小节主要讲述了命名空间的概念及其最简单的使用方法,并通过例1-1使读者对命名空间有一个直接的认识。