类的大小

类的大小

考察类中各变量、函数的类型,通过表1、表2得到各类型所占空间,相加即为类的大小。

表1:影响类大小的因素
因素占用空间说明
类本身空类占用空间大小与编译器相关
继承父类所有变量、函数会被继承到子类中
变量见表2自身大小
static0静态数据位于全局数据区,为类所有对象共享
指针4或8与系统位数相关
虚函数同指针与虚函数表个数相关
表2:变量占用空间与位数的关系(单位字节B)
变量类型32位系统64位系统
char11
short22
int44
long48
long88
float44
double88
指针48

说明

  • 一般不考虑空类的大小;
  • public、protect、private只影响变量、函数的使用权限,并不影响继承,子类一定包含父类所有的内容(但不一定能访问父类的所有内容);
  • 在一般继承中,多个虚函数也只增加一个指针大小,这是因为增加的这个指针指向虚函数表,表中可包含多个虚函数地址;在多重继承中,类中包含多个虚函数表,即增加多个指针大小。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值