深度理解C++对象模型读书笔记——对象模型
来源:互联网 发布:深圳龙华淘宝客服招聘 编辑:程序博客网 时间:2024/05/21 06:51
1、简单对象模型
在这种模型下,一个对象就是slots的集合,每个slot指向一个成员,指向的顺序室友申明顺序决定的。这时,一个class object的大小就是声明的个数乘以member的个数。这种模型不同类具有不同的大小。
2、表格驱动模型(没有用于实际C++编译器,但是member function table成为支持虚函数的一个方案)
在此模型下,对于任何类,都只有两个slot,一个指向数据成员表,另外一个指向函数成员表。数据成员表中直接有数据本身,而函数成员表中村的是地址。
3、C++对象模型
它是从简单对象模型派生出来的,在此模型中,对内存和存取时间做了优化, nonstatic data member放在类内, static data member放在类外, static data members被放与个别的类外,static 和nonstatic函数成员也被放在类外,支持虚函数的方式用
1、用来保存虚函数指针的虚表(virtual table)简称vtbl
2、用来指向虚表(virtual table)的指针,简称vptr,它的设置和重置都是用类构造函数,析构函数指出。另外,每个类关联的type_info object(类本身信息,记录自己是谁),用来支持运行时类别识别特性也放在虚表中,通常放在第一个slot中
0 0
- 深度理解C++对象模型读书笔记——对象模型
- 深度探索 C++对象模型——读书笔记
- 深度探索c++对象模型——读书笔记(一)
- 深度探索c++对象模型——读书笔记(二)
- 《深度探索C++对象模型》读书笔记——第一章
- 《深度探索C++对象模型》读书笔记
- 《深度探索C++对象模型》读书笔记
- 《深度探索C++对象模型》读书笔记[一]
- 《深度探索C++对象模型》读书笔记[二]
- 读书笔记 《深度探索c++对象模型》 (1)
- 《深度探索C++对象模型》读书笔记
- 《深度探索C++对象模型》读书笔记
- 《深度探索C++对象模型》读书笔记
- 《深度探索C++对象模型》读书笔记1
- 《深度探索C++对象模型》读书笔记2
- 《深度探索C++对象模型》读书笔记3
- 深度探索C++对象模型读书笔记
- 《深度探索C++对象模型》读书笔记
- ubuntu:错误failed to load session ubuntu的解决办法
- linux环境下的python安装过程(含setuptools)
- 解决 Python.h:没有那个文件或目录 错误的方法
- Linux tcpdump命令详解
- 网页解析类库HtmlCleanner
- 深度理解C++对象模型读书笔记——对象模型
- 记录nodejs中async的几个接口用法
- JavaAWT简单Socket多人聊天程序(简单明了)
- linux中获取命令帮助的几种方式1
- Linux下一些有用的Shell命令
- 云计算
- Linux Shell - Shell脚本调试技术
- 查看多光谱图像同一像元的不同波段的值大小
- Java序列化(一)