C++ primer 第十七章 命名空间部分

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声明在已经有同名且同形参的函数作用域中引入函数,则报错。如果形参不同,则会引入成功,增加该函数名的重载函数集合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值