this
ist ein Zeiger auf eine Instanz seiner Klasse und für alle nicht statischen Elementfunktionen verfügbar.
Wenn Sie eine Klasse deklariert haben, die ein privates Mitglied foo
und eine Methode bar
hat, steht foo
bar
via this->foo
zur Verfügung, nicht aber "outsiders" über instance->foo
.
Der this
-Zeiger wird in einer Klasse verwendet, um auf sich selbst zu verweisen. Es ist oft praktisch, wenn Sie einen Verweis auf sich selbst zurückgeben. Schauen Sie sich das Prototyp-typische Beispiel mit dem Zuweisungsoperator an:
Manchmal, wenn die Dinge verwirrend werden, könnten wir sogar sagen
%Vor%aber in dieser Situation wird es normalerweise als Overkill betrachtet.
Als nächstes, wenn wir unser Objekt konstruieren, benötigt eine enthaltene Klasse einen Verweis auf unser Objekt, um zu funktionieren:
%Vor% So this
wird verwendet, um unser Objekt an enthaltene Objekte zu übergeben. Ansonsten, ohne this
wie würde die Klasse bedeuten, in der wir uns befanden? Es gibt keine Instanz des Objekts in der Klassendefinition. Es ist eine Klasse, kein Objekt.
Wenn Sie in objektorientierter Programmierung eine Methode für ein Objekt aufrufen, zeigt der this
-Zeiger auf das Objekt, für das Sie die Methode aufgerufen haben.
Zum Beispiel, wenn Sie diese Klasse haben
%Vor% und ein Objekt x
davon, und Sie rufen f()
auf x
dann innerhalb von X::f()
, this
zeigt auf x
:
Da der Zugriff auf Klassenmitglieder, auf die mit this
verwiesen wird, so häufig ist, können Sie this->
:
Zeiger ist ein Variablentyp , der auf einen anderen Speicherbereich verweist . Zeiger können nur Adressen von Speicherplätzen enthalten
zum Beispiel, wenn wir einen "int Zeiger" sagen - & gt; es enthält die Speicheradresse einer int-Variablen
Leerer Zeiger - & gt; kann jede Art von Speicheradresse enthalten, die kein spezifischer Datentyp ist.
& amp; gibt die spitze Variable (oder den Wert des Zeigers, auf den verwiesen wurde)
Tags und Links c++ this this-pointer