sizeof 计算类大小时需注意的几点

1. 空类大小为1。

2. 非虚函数不计算大小。

3. 虚函数大小为4,不管有多少个虚函数,大小都为4,因为虚函数的存在需要维护一个虚表,在类中会有个指针,指针的大小是4,大概是这样。父类中有虚函数时,派生类中的虚函数不再计算大小,因为派生类会共享父类的指向虚表的虚函数指针。

4. 注意成员变量内存对齐,比如一个类中有char a; int b两个成员变量,那么类的大小时8,按4字节对齐。当成员变量大小均小于4字节时,按小的对齐,当有成员变量大于4字节时,按4字节对齐。

5. 静态成员变量不计算在类的大小中。

6. 派生类中也不计算父类中静态成员变量的大小,因为静态成员变量存放一个全局变量中,不管派生多少变都只有一个实体。

7.计算派生类的大小等于派生类本身的成员变量大小加上父类的大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值