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

参看: 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

这里写图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值