Wofür steht der Pfeiloperator (->
) als Synonym?
Antworten
Zu viele Anzeigen?->
wird verwendet, um auf Daten zuzugreifen, auf die du einen Zeiger hast.
Zum Beispiel könntest du einen Zeiger ptr auf eine Variable vom Typ int intVar so erstellen:
int* prt = &intVar;
Dann könntest du eine Funktion, wie z.B. foo, nur verwenden, indem du diesen Zeiger dereferenzierst - um die Funktion auf die Variable aufzurufen, auf die der Zeiger zeigt, anstatt auf den numerischen Wert des Speicherorts dieser Variable:
(*ptr).foo();
Ohne die Klammern hier würde der Compiler dies als *(ptr.foo())
verstehen aufgrund der Operatorpräzedenz, was nicht das ist, was wir wollen.
Eigentlich ist das nur das Gleiche wie:
ptr->foo();
Da das ->
diesen Zeiger dereferenziert und somit die Funktion foo()
für uns auf der Variable aufruft, auf die der Zeiger zeigt.
Ebenso können wir ->
verwenden, um auf ein Element einer Klasse zuzugreifen oder es zu setzen:
myClass* ptr = &myClassMember;
ptr->myClassVar = 2;
- See previous answers
- Weitere Antworten anzeigen