The Wayback Machine - https://web.archive.org/web/20180409045357/http://ja.cppreference.com:80/w/cpp/concept/MoveAssignable
名前空間
変種
操作

C++ コンセプト: MoveAssignable (C++11およびそれ以降)

提供: cppreference.com
< cpp‎ | concept

 
 
 
(移動)型のインスタンスが移動、割り当てることができることを指定します。これは、タイプがmoveセマンティクスを持つことを意味します:つまり、潜在的にオーバーヘッドを最小限に抑え、同じタイプの別のインスタンスに、その内部状態を転送することができます.
Original:
Specifies that an instance of the type can be move-assigned (moved). This means that type has move semantics: that is, can transfer its internal state to another instance of the same type potentially minimizing the overhead.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]要件

タイプはCopyAssignable要件を満たす、そして/または、以下の機能を実装する必要があります
Original:
The type must meet CopyAssignable requirements and/or implement the following functions:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Type::operator=

Type& Type::operator=( Type&& other );

Type& Type::operator=(const Type&& other );
Type& Type::operator=(volatile Type&& other );

Type& Type::operator=(constvolatile Type&& other );
(亜種の一つで十分です)

代入演算子を移動します: assigns the contents of other. The internal state of other is unspecified after the move. However, it must still be valid, that is, no invariants of the type are broken. The function must return *this.

The following expressions must have the specified effects:

Original:
Expression
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Effects
a = rv;
arvaのインスタンスですType、と等価であるとrv右辺値参照Typeです.
Original:
a is equivalent to rv, where a is an instance of Type and rv is a 右辺値参照 of Type.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[編集]参照

型がムーブ代入演算子を持っているかどうか調べます
(クラステンプレート)[edit]
close