C++ 命名要求: StandardLayoutType (自 C++11 起)
来自 cppreference.cn
指定一个类型是标准布局类型。标准布局类型对于与其他编程语言编写的代码进行通信很有用。
注意:标准没有定义以此名称命名的需求。这是一个由核心语言定义的类型类别。此处将其作为命名需求包含在内,仅为保持一致性。
目录 |
[编辑] 要求
以下类型统称为 标准布局类型
[编辑] 属性
参见 标准布局。
[编辑] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
CWG 1672 | C++11 | 忽略第一个非静态数据成员规则 空基类的存在 |
第一个非静态数据成员规则 变为递归 |
CWG 1813 | C++11 | 在间接基类中定义成员的类 在技术上不是标准布局 |
所有成员声明必须在 同一个类中 |
CWG 2120 | C++11 | 当比较第一个元素类型与基类类型时,未考虑数组作为第一个成员 将数组成员视为 |
数组成员已考虑 |
[编辑] 参见
(C++11) |
检查类型是否为标准布局类型 (类模板) |