《深度探索C++对象模型》3

第六章:执行期语意学

全局对象的初始化:

 

 

局部静态对象的初始化:

构建对象数组的vec_new()函数:

针对数组的new操作:

 

placement operator new:

反聚合提高效率:

 模板对name决议规则:

 虚函数表放在类的第一个非内联非虚函数定义的文件中:

 

明确要求将template具现出来(整个class、个别成员函数、):

异常处理需要编译器产生数据结构及运行期异常库合作:

因此需要在程序大小和执行速度之间有所抉择。

 

C++异常处理语法:

异常发生时编译系统处理步骤:

编译器会为每一个异常和catch子句产生类型描述器,当异常产生时通过比较类型描述器处理:

异常的抛出和传递:

 

 

 

 

 

 

 

 

 

C++异常处理付出代价最大:

dynamic_cast:

dynamic_cast运算符也可作用于reference:

typeid运算符可以作用于reference:

type_info:

 C++的优劣——效率与弹性:

 

posted @ 2016-07-22 18:29  IT由零开始  阅读(139)  评论(0编辑  收藏  举报