More Effective C++笔记 1. 理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"区别 抛出异常时,控制权永远不会回到抛出异常的地方 1.1 做为异常抛出的对象必须被复制 当异常对象被拷贝时,拷贝构造函数是对象的静态类型(static type) catch块中抛出一个异常 参数传递不同1:被异常抛出的对象(临时对象)可以通过普通的引用来捕获,函数调用中不允许传递一个临时对象到一个非const引用类型的参数里 参数传递不同2:参数匹配类型的过程不同 1.2 catch只有两种转换形式 1.3 catch子句匹配顺序总是取决于它们在程序中出现的顺序 2. 总结