7

C++ 标准是否规定了类和结构的编译布局?它们的编译方式有何不同,尤其是在它们为空的情况下?

4

1 回答 1

13

在某种程度上,它说它必须为其分配空间,除非在某些情况下将其用作基类(称为空基类优化)。这是为了保证不同的对象有不同的地址。

除了默认的访问说明符之外,它们的编译方式相同struct并且是相同的。classC++11中引入了标准布局类/结构的概念,并保证空类的内存布局相同。

于 2012-06-04T20:51:05.090 回答