名前空間
変種
操作

名前付き要件: TriviallyCopyable

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
 

[編集] 要件

  • すべてのコピーコンストラクタがトリビアルであるか削除されている。
  • すべてのムーブコンストラクタがトリビアルであるか削除されている。
  • すべてのコピー代入演算子がトリビアルであるか削除されている。
  • すべてのムーブ代入演算子がトリビアルであるか削除されている。
  • 少なくともひとつのコピーコンストラクタ、ムーブコンストラクタ、コピー代入演算子、またはムーブ代入演算子が削除されていない。
  • トリビアルな削除されていないデストラクタ。

これはクラスが仮想関数または仮想基底クラスを持たないことも暗に示します。

スカラー型および TriviallyCopyable なオブジェクトの配列は同様に TriviallyCopyable であり、それらの型の const 修飾されたバージョンも同様です (しかし volatile はそうではありません)。

[編集] 欠陥報告

以下の動作変更欠陥報告は以前に発行された C++ 標準に遡って適用されました。

DR 適用先 発行時の動作 正しい動作
CWG 1734 C++11 C++03 POD with deleted non-trivial assignment was not trivial deleted ctors/operators allowed

[編集] 関連項目

型がトリビアルにコピー可能かどうか調べます
(クラステンプレート) [edit]