名前空間
変種
操作

C++ 名前付き要件: MoveAssignable (C++11 以降)

From cppreference.com
 
 
C++ 名前付き要件
 

rvalue 引数からインスタンスを代入できることを指定します。

[編集] 要件

T は、以下の場合に MoveAssignable を満たします。

以下を考えます。

以下の式は有効であり、指定された効果を持つ必要があります。

Expression 戻り値の型 戻り値 事後条件
t = rv T& t trv が同じオブジェクトを参照しない場合、代入前の rv の値と t の値は等価になります。

rv の新しい値は未指定です。

[編集] 注意

この型要件を満たすために、ムーブ代入演算子を実装する必要はありません。値渡しまたは const Type& としてパラメータを取るコピー代入演算子は、rvalue 引数にバインドされます。

もし MoveAssignable クラスがムーブ代入演算子を実装している場合、rv の代入後の値が未指定であることを利用するために、ムーブセマンティクスを実装することもできます。

[編集] 関連項目

型がムーブ代入演算子を持つかをチェックする
(クラステンプレート) [編集]
型が別の型から代入可能であることを規定する
(コンセプト) [編集]
English 日本語 中文(简体) 中文(繁體)