C++ 具名要求:标准布局类型 (StandardLayoutType)
来自cppreference.com
指定一个类型为标准布局类型。标准布局类型适用于与其他语言编写的代码交流。
注意:标准中并没有定义具有这个名字的具名要求。这是核心语言所定义的一种类型类别。将它作为具名要求包含于此只是为了保持一致性。
要求
下列类型统称为标准布局类型:
性质
见标准布局。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
CWG 1672 | C++11 | 首个非静态数据成员的规则忽略了空基类的存在 | 首个非静态数据成员的规则被设为递归 |
CWG 1813 | C++11 | 带有定义于非直接基类中的成员的类在技术上不是标准布局 | 所有成员声明必须在同一类中 |
CWG 2120 | C++11 | 作为首个成员的数组在在比较首元素类型和基类类型时不考虑 | 考虑数组元素 |
参阅
(C++11) |
检查是否是一个标准布局类型 (类模板) |