Namespaces
Variants

C++ named requirements: MoveAssignable (since C++11)

From cppreference.net
C++ named requirements

Gibt an, dass eine Instanz des Typs von einem rvalue -Argument zugewiesen werden kann.

Anforderungen

Der Typ T erfüllt die Anforderungen von MoveAssignable wenn

Gegeben

Die folgenden Ausdrücke müssen gültig sein und ihre spezifizierten Effekte haben.

Expression Return type Return value Post-conditions
t = rv T& t Wenn t und rv nicht auf dasselbe Objekt verweisen, entspricht der Wert von t dem Wert von rv vor der Zuweisung.

Der neue Wert von rv ist nicht spezifiziert.

Hinweise

Der Typ muss keinen move assignment operator implementieren, um diese Typanforderung zu erfüllen: Ein copy assignment operator , der seinen Parameter als Wert oder als const Type& annimmt, wird an ein Rvalue-Argument binden.

Wenn eine MoveAssignable -Klasse einen Move-Zuweisungsoperator implementiert, kann sie ebenfalls Move-Semantik implementieren, um den Umstand zu nutzen, dass der Wert von rv nach der Zuweisung nicht spezifiziert ist.

Siehe auch

prüft, ob ein Typ einen Move-Zuweisungsoperator hat
(Klassen-Template)
spezifiziert, dass ein Typ von einem anderen Typ zuweisbar ist
(Konzept)