Zeiger auf Funktionen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Zeiger - Index (C++)

Einen Zeiger auf eine Funktion kann man sich als Adresse – normalerweise in einem Code-Segment – vorstellen, an deren Position der ausführbare Code für diese Funktion gespeichert ist. Dies ist die Adresse, der die Kontrolle übergeben wird, wenn diese Funktion aufgerufen wird.

Ein Zeiger auf eine Funktion hat den Typ "Zeiger auf eine Funktion, die type zurückliefert", wobei type der Rückgabetyp der Funktion ist. Zum Beispiel:



 void (*func)();



In C++ ist dies ein Zeiger auf eine Funktion ohne Argumente, die void zurückliefert. In C ist dies ein Zeiger auf eine Funktion mit einer unbestimmten Anzahl von Argumenten, die void zurückliefert. In dem Beispiel



 void (*func)(int);



ist *func ein Zeiger auf eine Funktion, die ein int-Argument entgegennimmt und void zurückliefert.

In C++ kann über einen solchen Zeiger auf statische Elementfunktionen zugegriffen werden. Zeiger auf Klassenelemente müssen Zeiger-auf-Elementoperatoren verwenden. Weitere Informationen hierzu finden Sie unter static_cast.