求一个类的sizeof应考虑的问题 (
来源:互联网 发布:python处理csv数据 编辑:程序博客网 时间:2024/05/19 07:10
http://blog.sina.com.cn/s/blog_728161840100u2ib.html
一、个空类
class A
{
};
二、简单的类
class A
{
}
三、子类普通继承、父类中不含虚函数
class A
{
}
class B:public A
{
}
sizeof(B)=sizeof(A)+sizeof(B.b)+4(指向虚表指针)
四、子类普通继承、父类含虚函数
class A
{
}
class B:public A
{
}
sizeof(B)=sizeof(A)-4(sizeof(A)中有一个指向虚表的指针)+sizeof(B.b)+4(指向虚表指针)
因为普通继承,子类和父类的虚函数存放在同一个虚表中,所以,只需要存一个指向续表的指针即可;
五、子类虚继承、父类不含虚函数
class A
{
}
class B:virtual public A
{
}
sizeof(B)=sizeof(A)+4(指示父类存放空间的起始偏移量)+sizeof(B.b)+4(指向B的虚表的指针)
六、子类虚继承、父类含虚函数
class A
{
}
class B:virtual public A
{
}
sizeof(B)=sizeof(A)+4(指示父类存放空间的起始偏移量)+sizeof(B.b)+4(指向B的虚表的指针)
虚继承时,父类和子类的虚函数表分开放,所以,分别存储两个指向对应续表的指针,因而不用减去sizeof(A)中续表指针的大小。
0 0
- 求一个类的sizeof应考虑的问题
- 求一个类的sizeof应考虑的问题
- 求一个类的sizeof应考虑的问题
- 求一个类的sizeof应考虑的问题 (
- 求一个类的sizeof应考虑的问题
- 求一个类的sizeof应考虑的问题
- 系统架构设计应考虑的问题
- sizeof()来求一个类的大小
- 创建SOA测试团队之前应考虑的六大问题
- 迁移到Linux平台应考虑的十个问题
- 迁移到Linux平台应考虑的十个问题
- 迁移到Linux平台应考虑的十个问题
- 迁移到Linux平台应考虑的十个问题
- Flex企业级项目架构应考虑的问题
- 求一个数值的整数次方,不考虑大数的问题
- sizeof求类的大小
- sizeof 求类的大小
- sizeof求类的大小
- ie 只有点击文字才能生效
- IT业界正文 雷军力捧云服务:敢烧钱才能活下去
- Java中怎样由枚举常量的ordinal值获得枚举常量对象
- 8位二进制数能表示的最小整数为什么是-128,10000000为什么是-128的补码。
- Ubuntu14.04配置opencv
- 求一个类的sizeof应考虑的问题 (
- 漫谈程序员系列:一张图道尽程序员的出路
- 一些编程相关的分享
- 电脑版 寄语2014年的云服务 就想让你安全
- BUG when using GYP_DEFINES+=" profiling=1 release_extra_cflags=-fno-omit-frame-pointer disable_pie=1
- 配置plsql软件访问远程和本地数据库中oracle 10g的地址路径
- bootstrap中文乱码
- 漫谈程序员系列:找工作的辟邪剑谱
- 关于在ubuntu下eclipse中c++11支持和编译运行c++11报错的解决方法