C++ 具名要求:标准布局类型 (StandardLayoutType)

来自cppreference.com
< cpp‎ | named req
 
 
C++ 具名要求
基础
类型属性
StandardLayoutType
(C++11)
库所属
容器
容器元素
(C++11)

迭代器
流 I/O
格式化
(C++20)
随机数
(C++11)    
并发
(C++11)
(C++11)
范围
其他
(C++11)


 

指定一个类型为标准布局类型。标准布局类型适用于与其他语言编写的代码交流。

注意:标准中并没有定义具有这个名字的具名要求。这是核心语言所定义的一种类型类别。将它作为具名要求包含于此只是为了保持一致性。

要求

下列类型统称为标准布局类型

性质

标准布局

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
CWG 1672 C++11 首个非静态数据成员的规则忽略了空基类的存在 首个非静态数据成员的规则被设为递归
CWG 1813 C++11 带有定义于非直接基类中的成员的类在技术上不是标准布局 所有成员声明必须在同一类中
CWG 2120 C++11 作为首个成员的数组在在比较首元素类型和基类类型时不考虑 考虑数组元素

参阅

检查是否是一个标准布局类型
(类模板)