查看: 653|回复: 0
收起左侧

C++中空类占一字节原因详解

[复制链接]
发表于 2020-7-4 22:02:50 | 显示全部楼层 |阅读模式 简体中文繁體中文

在C++中空类会占一个字节,这是为了让对象的实例能够相互区别。具体来说,空类同样可以被实例化,并且每个实例在内存中都有独一无二的地址,因此,编译器会给空类隐含加上一个字节,这样空类实例化之后就会拥有独一无二的内存地址。如果没有这一个字节的占位,那么空类就无所谓实例化了,因为实例化的过程就是在内存中分配一块地址。

注意:当该空白类作为基类时,该类的大小就优化为0了,这就是所谓的空白基类最优化。


您需要登录后才可以回帖 登录 | 注册会员

本版积分规则