this

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

C++-spezifische Schlüsselwörter

Beispiel:

class X {
  int a;
public:
  X (int b) {this -> a = b;}
};

Beschreibung

In nicht-statischen Elementfunktionen steht das Schlüsselwort this für einen Zeiger auf das Objekt, für das die Funktion aufgerufen wurde. Bei allen Aufrufen von nicht-statischen Elementfunktionen wird this als "verborgenes" Argument übergeben.

Das Schlüsselwort this repräsentiert eine lokale Variable, auf die im Körper jeder statischen Elementfunktion zugegriffen werden kann. Diese Variable wird innerhalb der Funktion implizit für Zugriffe auf Elemente benutzt. Sie muss nicht deklariert werden und wird in Funktionsdefinitionen nur selten explizit angegeben.

Beispiel: Im Aufruf x.funk(y), wobei y ein Element von X ist, erhält this den Wert &x, und y wird zu this->y, was gleichwertig mit x.y ist.

Statische Elementfunktionen haben keinen this-Zeiger, weil sie nicht im Hinblick auf ein bestimmtes Objekt aufgerufen werden. Eine statische Elementfunktion kann deshalb nicht auf nicht-statische Elemente zugreifen, ohne ein Objekt explizit mit . oder -> zu spezifizieren.

Siehe auch