一文了解C++的命名空间

电子说

1.2w人已加入

描述

一、命名空间

1.引入

在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突, 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,Namespace关键字的出现就是针对这种问题的。

2.定义

(1)命名空间的定义

函数

(2)相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下

函数

(3)命名空间可以嵌套

函数

(4)没有名称的命名空间(该命名空间的内容相当于全局变量)

函数

说明:

(1)从本质上讲,一个命名空间就定义了一个范围,在命名空间中定义的任何东西都局限于该命名空间中。

(2)没有名称的命名空间可以只创建在声明它的文件才可见的标识符。(只有在声明这个命名空间的文件中,它的成员才是可见的,它的成员可以被直接访问,不需要命名空间名称来修饰。对于其它文件,该命名空间是不可见的)。

(3)把全局名称的作用域限制在声明他的文件中的一种方式就是把它的声明为静态的,尽管C++支持全局静态,但最好的方式还是使用未命名的空间。

3.使用方式

(1)命名空间内直接使用

函数

(2)命名空间名称限制

函数

(3)导入命名空间

函数

(4)使用谁引入谁

函数

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分