C++ 具名要求: TriviallyCopyable
来自cppreference.com
要求
- 每个复制构造函数均为平凡或弃置的
- 每个移动构造函数均为平凡或弃置的
- 每个复制赋值运算符均为平凡或弃置的
- 每个移动赋值运算符均为平凡或弃置的
- 至少一个复制构造函数、移动构造函数、复制赋值运算符或移动赋值运算符未弃置
- 平凡而未弃置的析构函数
标量类型和可平凡复制 (TriviallyCopyable) 对象的数组也是可平凡复制 (TriviallyCopyable) 的。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
DR | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
CWG 1734 | C++11 | 拥有弃置的非平凡赋值的 C++03 POD 不是平凡的 | 允许弃置的构造函数/运算符 |
CWG 2094 | C++14 | volatile 标量类型非可平凡复制( GWG 496 ) | 使之为可平凡复制 |
参阅
(C++11) |
检查类型是否可平凡复制 (类模板) |