【发布时间】:2019-01-07 02:12:24
【问题描述】:
引用[class.prop]/3中的标准:
一个类 S 是一个标准布局类,如果它:
- 对所有非静态数据成员具有相同的访问控制,
我的理解(也许我错了)一直认为 C++ 访问控制不会以任何方式影响类的物理布局——它们纯粹是一种增强封装的编译时机制。 (或者换一种说法,将成员从私有更改为公共不是 ABI 破坏性更改。)
如果是这种情况,那么标准布局类的这种限制的原因是什么?
【问题讨论】:
标签: c++ language-lawyer standard-layout