名前空間
変種
操作

名前付き要件: MoveConstructible (C++11およびそれ以降)

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

その型のインスタンスが右辺値引数から構築可能であることを指定します。

[編集] 要件

以下の内容を満たす場合、型 TMoveConstructible を満たします。

  • T 型の右辺値rv
  • 任意の識別子 u

が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。

事後条件
T u = rv; u の値が初期化前の rv の値と同等である。

rv の新しい値は未規定である。

T(rv) T(rv) の値が初期化前の rv の値と同等である。

rv の新しい値は未規定である。

[編集] ノート

クラスはこの型要件を満たすためにムーブコンストラクタを実装する必要はありません。 const T& 引数を取るコピーコンストラクタは右辺値式を束縛できます。

MoveConstructible なクラスがムーブコンストラクタを実装する場合、構築後の rv の値が未規定であることを活かすためにムーブセマンティクスを実装することもできます。

[編集] 関連項目

型が右辺値参照から構築できるかどうか調べます
(クラステンプレート) [edit]