Was bewirkt die Zuweisung an * dies (* dies = val)?

7

Ich habe Qt-Quellen durchsucht und dies bemerkt

%Vor%

Ich habe noch nie eine Zuordnung zu "diesem" gesehen. Was macht die Zuordnung zu "diesem"?

    
ckain 19.01.2011, 10:36
quelle

3 Antworten

15

Das ist keine Zuordnung zu this , sondern zu dem Objekt, auf das this zeigt. Das ruft operator=( QUuid const & ) für das aktuelle Objekt auf.

    
David Rodríguez - dribeas 19.01.2011, 10:39
quelle
4

Es ruft nur QUuid &operator=(const QUuid& quUid); auf.

    
Simone 19.01.2011 10:38
quelle
1

'this' ist einfach ein Zeiger auf das Objekt, auf dem die aktuelle Methode aufgerufen wird. Durch Ändern des Werts hinter 'this' (durch Dereferenzieren des Zeigers mit '* this' und Zuweisen eines anderen Objekts) wird das Objekt des Aufrufers so geändert, dass es zu einem anderen Objekt wird.

In Ihrem Beispiel könnte ein Aufrufer von 'operator =' Folgendes tun:

%Vor%

Nach der Definition von 'operator =' konvertiert diese Aktion copy 'guid' in ein neues Objekt vom Typ 'QUuid'.

    
GK80 19.01.2011 10:58
quelle

Tags und Links