Das Schlüsselwort this

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Klassen - Index


Das Schlüsselwort this:

  • Wird als verborgenes Argument in allen Aufrufen von nicht-statischen Member-Funktionen übergeben.
  • Ist eine lokale Variable, die im Rumpf jeder statischen Member-Funktion zur Verfügung steht.
  • Muss nicht deklariert werden und wird in Funktionsdefinitionen nur selten explizit angegeben.
  • Wird innerhalb der Funktion implizit für Verweise auf Member verwendet.

Nicht-statische Member-Funktionen arbeiten mit dem Klassentypobjekt, mit dem sie aufgerufen werden. Wenn x beispielsweise ein Objekt der Klasse X ist und f() eine Member-Funktion von X, arbeitet der Funktionsaufruf x.f() mit x.

Ebenso arbeitet der Funktionsaufruf xptr->f() mit *xptr, wenn xptr ein Zeiger auf ein X-Objekt ist. Wie erkennt die Funktion f aber, mit welcher Instanz von X sie arbeitet? C++ stellt f mit einem Zeiger auf x bereit, this genannt.

Wenn beispielsweise x.f(y) aufgerufen wird, wobei y ein Member von X ist, wird this auf &x und y auf this->y gesetzt, was gleichbedeutend mit x.y ist.

Themen

Siehe auch