C++命名空间的定义以及使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、命名空间定义?
- 1.1定义:
- 1.2变量在域中的访问顺序:
- 二、命名空间使用
- 2.1加命名空间名称及作用域限定符(推荐)
- 2.2使用using将命名空间某个成员引入
- 2.3使用using namespace 命名空间名称引入
前言
在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。
一、命名空间定义?
1.1定义:
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。
1.正常命名:
2.嵌套命名:
3.3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
ps:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个
1.2变量在域中的访问顺序:
局部域>全局域>展开了的命名空间域or指定访问命名空间域
二、命名空间使用
2.1加命名空间名称及作用域限定符(推荐)
作用域限定符: ::
2.2使用using将命名空间某个成员引入
2.3使用using namespace 命名空间名称引入
直接把整个命名空间里的变量都引入了
展开命名空间域就相当于把命名空间里面的变量变成全局变量,所以使用的时候要记住与原先的全局变量别冲突重名,所以这里还是建议使用第一种方法