《深度探索C++对象模型》学习笔记——C++对象模型

    Stroustrup 当初设计(当前亦仍占有优势)的C++对象模型是从简单对象模型派生而来的,并对内存空间和存取时间做了优化。在此模型中,Nonstaic data members 被配置于每一个class object之内,static data members 则被存放在所有的 class object 之外。static 和 nonstatic function members 也被放在所有的 class object 之外。virtual functions 则以两个步骤支持之:

    1、每一个 class 产生出一堆指向 virtual functions 的指针,放在表格之中。这个表格被称为 virtual table(vtbl)。

    2、每一个 class object 被添加了一个指针,指向相关的 virtual table。通常这个指针被称为 vptr。vptr 的设定和重置都由每一个 class 的 constructor、destructor 和 copy assignment 运算符自动完成。每一个 class 所关联的 type_info object(用以支持 runtime type identification,RTTI)也经由 virtual table 被指出来,通常是放在表格的第一个slot处。

阅读更多
个人分类: C++
上一篇SQL2000安装失败原因
下一篇do {}while(0); 妙用
想对作者说点什么? 我来说一句

深度探索C++对象模型 PDF

2014年06月22日 10.47MB 下载

没有更多推荐了,返回首页

关闭
关闭