概述

在C++中,我们会使用变量、常量、函数、类、对象、结构体等各种元素。随着工程越来越庞大,代表这些元素的标识符冲突的概率也越来越大。为了解决标识符命名冲突的问题,C++标准在1995年引入了关键字namespace,也叫做命名空间。使用命名空间后,标识符会归属于不同的空间,即使重名了,一般情况下也不会发生冲突。

规则

1、命名空间的定义比较简单,将需要放到命名空间内的元素置于”namespace 名称 {“和”}”之间即可。

namespace my_data{int nData = 22;int Add(int a, int b){return a + b;}}

2、命名空间只能在全局范围内定义,不能在局部范围内定义。

int main(){namespace my_data// 编译出错{int nData = 22;}return 0;}

3、访问命名空间中的元素时,有三种方式:一是添加命名空间名称和作用域限定符,二是使用using namesapce将整个命名空间引入,三是使用using将命名空间中指定的元素引入(后续使用该元素时,就不用再添加命名空间和作