电子说
一、命名空间
1.引入
在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突, 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,Namespace关键字的出现就是针对这种问题的。
2.定义
(1)命名空间的定义
(2)相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下
(3)命名空间可以嵌套
(4)没有名称的命名空间(该命名空间的内容相当于全局变量)
说明:
(1)从本质上讲,一个命名空间就定义了一个范围,在命名空间中定义的任何东西都局限于该命名空间中。
(2)没有名称的命名空间可以只创建在声明它的文件才可见的标识符。(只有在声明这个命名空间的文件中,它的成员才是可见的,它的成员可以被直接访问,不需要命名空间名称来修饰。对于其它文件,该命名空间是不可见的)。
(3)把全局名称的作用域限制在声明他的文件中的一种方式就是把它的声明为静态的,尽管C++支持全局静态,但最好的方式还是使用未命名的空间。
3.使用方式
(1)命名空间内直接使用
(2)命名空间名称限制
(3)导入命名空间
(4)使用谁引入谁
全部0条评论
快来发表一下你的评论吧 !