有关c++空类问题

《 effective c++ 》

空类是没有数据成员,没有函数的类,例如 class Empty { };

1. 空类或者空类对象的大小(无继承情况下):编译器会在空类中安插一个char,使得这个空类的两个objects得以在内存中配置独一无二的地址。只有当一个类为空的时候,编译器才会向该类中加入这样一个char!

2. 空类或者空类对象的大小(有继承但无虚继承情况下):继承的基类都是空类,大小是1,不管有多少个父类。

3. 空类或者空类对象的大小(单一虚继承情况下):对每一个虚继承基类,都有一个虚基类索引(或者偏移量、指针),占4字节


定义一个空的C++类,例如

class Empty

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值