博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ primer 第十七章 命名空间部分
阅读量:4036 次
发布时间:2019-05-24

本文共 683 字,大约阅读时间需要 2 分钟。

1.      命名空间污染:名字冲突。

2.      命名空间定义:namespace space_name{…}

定义可以是不连续的,命名空间由它分离定义部分的总和构成,是累积的。

3.      可以用作用域操作符引用全局命名空间的成员。因为全局命名空间是隐含的,没有名字,可以直接用::member_name引用。

4.      嵌套命名空间中的名字遵循常规规则,内存空间的名字屏蔽外层空间的重名成员。

5.      未命名的命名空间是指在定义时没有给定名字的空间。未命名的空间可以在给定文件中不连续,但是不能跨越文件。如果两个文件都包含未命名的空间,则两个空间不相关。

6.      如果头文件定义了未命名的空间,那么,在每个包含该头文件的文件中,该命名空间中的名字将定义为不同的局部变量、函数。

7.      未命名的空间可用来取代C语言的static声明。在C中,声明为static的局部实体,在其他文件中不可见。

8.      Using声明是引入某个命名空间中的某个实体,而using指示则是把整个命名空间的名字全部引入。应该多用using声明,避免using指示。

9.      命名空间别名,namesspace A=B;

10.  Using声明可以出现在全局作用域、局部作用域和命名空间作用域中。类作用域中的using声明局限于被定义类的基类中的名字。

11.  当一个类声明友元函数时,函数的声明不必是可见的。如果不存在可见的声明,友元函数有将该函数或类的声明放入外围作用域的作用。

12.  如果using声明在已经有同名且同形参的函数作用域中引入函数,则报错。如果形参不同,则会引入成功,增加该函数名的重载函数集合。

转载地址:http://jwbdi.baihongyu.com/

你可能感兴趣的文章
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
js弹窗插件
查看>>
自定义 select 下拉框 多选插件
查看>>
js判断数组内是否有重复值
查看>>
js获取url链接携带的参数值
查看>>
gdb 调试core dump
查看>>
gdb debug tips
查看>>
arm linux 生成火焰图
查看>>
linux和windows内存布局验证
查看>>
linux config
查看>>
linux insmod error -1 required key invalid
查看>>
linux kconfig配置
查看>>
linux不同模块completion通信
查看>>
linux printf获得时间戳
查看>>
C语言位扩展
查看>>
linux dump_backtrace
查看>>
linux irqdebug
查看>>
git 常用命令
查看>>
linux位操作API
查看>>
uboot.lds文件分析
查看>>