跳到主要内容

C++ 命名要求: StandardLayoutType (自 C++11 起)

指定类型是标准布局类型。标准布局类型对于与其他编程语言编写的代码进行通信非常有用。

注意:标准没有定义具有此名称的命名要求。这是由核心语言定义的一种类型类别。为了保持一致性,此处将其作为命名要求包含。

要求

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

属性

参见标准布局

缺陷报告

以下改变行为的缺陷报告已追溯应用于先前发布的 C++ 标准。

DR应用于发布时的行为正确行为
CWG 1672C++11第一个非静态数据成员规则忽略了空基类的存在第一个非静态数据成员规则变为递归的
CWG 1813C++11在间接基类中定义的成员的类在技术上不是标准布局所有成员声明必须在同一个类中
CWG 2120C++11将数组作为第一个成员时,在比较第一个元素类型与基类类型时未考虑数组考虑数组成员

C++ 命名要求: StandardLayoutType (自 C++11 起)

指定类型是标准布局类型。标准布局类型对于与其他编程语言编写的代码进行通信非常有用。

注意:标准没有定义具有此名称的命名要求。这是由核心语言定义的一种类型类别。为了保持一致性,此处将其作为命名要求包含。

要求

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

属性

参见标准布局

缺陷报告

以下改变行为的缺陷报告已追溯应用于先前发布的 C++ 标准。

DR应用于发布时的行为正确行为
CWG 1672C++11第一个非静态数据成员规则忽略了空基类的存在第一个非静态数据成员规则变为递归的
CWG 1813C++11在间接基类中定义的成员的类在技术上不是标准布局所有成员声明必须在同一个类中
CWG 2120C++11将数组作为第一个成员时,在比较第一个元素类型与基类类型时未考虑数组考虑数组成员