Namensräume
Varianten
Aktionen

C++ benannte Anforderungen: MoveAssignable (seit C++11)

Von cppreference.com
 
 
C++ benannte Anforderungen
 

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

[edit] Anforderungen

Der Typ T erfüllt MoveAssignable, wenn

Gegeben

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

Ausdruck Rückgabetyp Rückgabewert Nachbedingungen
t = rv T& t Wenn t und rv nicht auf dasselbe Objekt verweisen, ist der Wert von t äquivalent dem Wert von rv vor der Zuweisung.

Der neue Wert von rv ist nicht spezifiziert.

[edit] Hinweise

Der Typ muss keinen Move-Zuweisungsoperator implementieren, um diese Typanforderung zu erfüllen: Ein Kopierzuweisungsoperator, der seinen Parameter per Wert oder als const Type& annimmt, bindet an Rvalue-Argumente.

Wenn eine MoveAssignable-Klasse einen Move-Zuweisungsoperator implementiert, kann sie auch Move-Semantik implementieren, um die Tatsache auszunutzen, dass der Wert von rv nach der Zuweisung nicht spezifiziert ist.

[edit] Siehe auch

prüft, ob ein Typ einen Verschiebezuweisungsoperator hat
(Klassenvorlage) [bearbeiten]
gibt an, dass ein Typ von einem anderen Typ zuweisbar ist
(Konzept) [bearbeiten]