命名空间
变体
操作

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

来自 cppreference.cn
 
 
C++ 命名要求
基本
类型属性
StandardLayoutType(标准布局类型)
(C++11)  
全库范围
(C++11)




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
随机数
并发
Ranges(范围)
多维视图
其他

 

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

注意:标准没有定义以此名称命名的需求。这是一个由核心语言定义的类型类别。此处将其作为命名需求包含在内,仅为保持一致性。

目录

[编辑] 要求

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

[编辑] 属性

参见 标准布局

[编辑] 缺陷报告

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

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

[编辑] 参见

检查类型是否为标准布局类型
(类模板) [编辑]