C++ primer阅读之用于大型程序的工具

第十八章 用于大型程序的工具

1. throw类似return,后面的语句不再执行。

2.如果一个异常没有被捕获,将终止当前程序。

3.析构函数不该抛出它不能处理的异常。

4.异常对象。抛出指针的对象必须存在,没有销毁。

5.匹配的catch语句是最靠前的第一个匹配的,它不一定是最优的。

6.catch语句中可以重新抛出异常对象,throw。

7.catch(...)可以捕获所有类型异常。

8.处理构造函数初始值异常的唯一方法是讲构造函数写成函数try语句块。

9.noexcept异常说明。编译器在编译时无法验证异常说明。

10.noexcept可以有两层含义:异常说明符或者运算符。

11.函数指针和其指向的函数必须有一致的异常说明。

12.异常类的层次。

13.命名空间污染。

14.命名空间结束后无需分号,类似块。

15.每个命名空间都是一个作用域。

16.命名空间可以是不连续的。

17.内联命名空间。

18.未命名的命名空间。可以直接使用,且仅在当前文件内有效,作用范围不会横跨多个文件。可以取代静态声明。

19.命名空间的别名;using声明(一个成员);using 指示(所有成员)。

20.多重继承,从多个直接基类中产生派生类。

21. 有可能出现派生类从两个或多个基类中继承同名成员的情况,此时需要加前缀限定符。

22. 虚继承:无论虚基类在继承体系中出现几次,在派生类中都只包含唯一的一个共享的虚基类子对象。

23.虚派生只影响从指定虚基类的派生类中进一步派生出的类,它不会影响派生类本身。

24.解决二义性问题的最好方法是在派生类中为成员自定义新实例。

25.虚派生中的构造函数顺序:先虚基类,再非虚基类构造,最后派生类自己。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值