我知道空类的大小由标准定义为非零.在大多数实现中,它通常是 1个字节.
但是,C++标准是否指定了对象的最小可能大小?假设按照标准,空类对象的大小至少为 1个字节,这是合乎逻辑的.
对象的最小大小为零(§1.8/ 5).但是,完整对象的大小必须始终为非零,并且该大小必须至少为1.
除非它是位字段(9.6),否则最派生的对象应具有非零大小并且应占用一个或多个存储字节.基类子对象可以具有零大小.平凡可复制或标准布局类型(3.9)的对象应占用连续的存储字节.
由于所谓的空基类优化 EBCO,空类型的基类子对象可以具有零大小.
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |