Ich aktualisiere gerade meine C ++ - Fähigkeiten und frage mich, ob es möglich ist, etwas zu *this
zuzuordnen.
Ich weiß, das Zuweisen zu this
ist verboten, kann aber nicht die gleichen Informationen für meinen Fall finden.
Ein Beispiel:
%Vor% Bearbeiten: Der Rückgabetyp von incr()
wurde von void
auf Foo
korrigiert.
void incr() { return Foo(x+1); }
Dies ist ungültig. Sie können ein Foo
-Objekt nicht von einer Funktion mit void
return type zurückgeben.
Das ist in Ordnung.
Ja, das ist erlaubt und ruft tatsächlich den Zuweisungsoperator Ihrer Klasse auf.
Ja, es funktioniert. Und *this = x
ist nur syntaktischer Zucker für operator=(x)
.
Ja, das ist möglich, wenn *this
return value von einem Datentyp ist, für den ein Zuweisungsoperator definiert wurde.
Tags und Links c++