Jedes Objekt einer Klasse stellt implizit ein Zeigerelement auf sich
selbst zuer Verfügung. Die Deklaration erfolgt für eine Klasse A
implizit als
A* const this;
d.h. es ist ein Zeiger, der nicht verändert werden darf, dessen Inhalt aber
durchaus verändert werden kann.
Es existieren ein paar Verwendungen von this
, die hier kurz aufgeführt
werden sollen.
In jeder Elementfunktion kann this
explizit bei der Auswahl eines
Elementes in Zusammenhang mit dem Auswahloperator benutzt werden. Dies
ist aber überflüssig; kann aber in manchen Anwendungen wegen der
Übersichtlichkeit von geringem Nutzen sein.
void A::f()
{
x = 3; // Zugriff auf Element x;
A::x = 3; // analog, explizit über Scope-Operator
(*this).x =3; // analog mit this
this->x = 3; // auch die äquivalente Anweisung
}