c++_8: c++_内存模型

来源:互联网 发布:淘宝密码怎么找回来 编辑:程序博客网 时间:2024/05/16 02:03

参看: http://blog.csdn.net/it_yuan/article/details/24651347

内存布局

类中的元素

  1. 成员变量 1. 成员函数 2. 静态成员变量 3. 静态成员函数 4. 虚函数 5. 纯虚函数

影响对象大小的因素

  1. 成员变量 1. 虚函数表指针(_vftptr) 2. 虚基类表指针(_vbtptr) 3. 内存对齐

    • _vftptr、_vbtptr的初始化由对象的构造函数, 赋值运算符自动完成;对象生命周期结束后,由对象的析构函数来销毁。
    • 对象所关联的类型(type_info),通常放在virtual table的第一个slot中。

单一类

空类

这里写图片描述

sizeof(CNull)=1(用于标识该对象)

只有成员变量的类

这里写图片描述

nt nVarSize = sizeof(CVariable) = 12

这里写图片描述

只有虚函数的类

这里写图片描述

int nVFuntionSize = sizeof(CVFuction) = 4(虚表指针)

这里写图片描述

单一继承

这里写图片描述

int nChildSize = sizeof(CChildren) = 12

这里写图片描述

多继承

这里写图片描述

int nChildSize = sizeof(CChildren) = 20

这里写图片描述


0 0
原创粉丝点击