名前付き要件:MoveConstructible(C++11以上)
提供: cppreference.com
その型のインスタンスが右辺値引数から構築可能であることを指定します。
[編集]要件
以下の内容を満たす場合、型 T
は MoveConstructible を満たします。
T
型の右辺値式rv
- 任意の識別子
u
が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。
式 | 事後条件 |
---|---|
T u = rv; | u の値が初期化前の rv の値と同等である。
|
T(rv) | T(rv) の値が初期化前の rv の値と同等である。
|
[編集]ノート
クラスはこの型要件を満たすためにムーブコンストラクタを実装する必要はありません。 const T&
引数を取るコピーコンストラクタは右辺値式を束縛できます。
MoveConstructible なクラスがムーブコンストラクタを実装する場合、構築後の rv
の値が未規定であることを活かすためにムーブセマンティクスを実装することもできます。
[編集]関連項目
(C++11)(C++11)(C++11) | 型が右辺値参照から構築できるかどうか調べます (クラステンプレート) |