Heim > Artikel > Backend-Entwicklung > Wie funktionieren Funktionszeiger in C++?
In C++ ist ein Funktionszeiger eine Variable, die auf eine Funktion zeigt, die die Funktion dynamisch als Parameter übergeben oder speichern kann. Die Syntax lautet: Typname * Funktionsname. Verwenden Sie beim Zuweisen die Funktionszeigeradresse und dereferenzieren Sie sie beim Aufruf. Wenn Sie beispielsweise den Maximalwert mithilfe eines Funktionszeigers berechnen, erfolgt die Berechnung durch Zuweisen und Aufrufen des Funktionszeigers.
In C++ ist ein Funktionszeiger eine Variable, die auf eine Funktion zeigt. Es ermöglicht uns, Funktionen dynamisch als Parameter zu übergeben oder in Datenstrukturen zu speichern.
Ein Funktionszeiger wird wie eine reguläre Funktion deklariert, aber auf den Typnamen folgt ein Sternchen (*):
typedef void (*FunctionPointer)(int);
Wir können einem Funktionszeiger wie einem normalen Zeiger eine Funktionsadresse zuweisen:
FunctionPointer fp = &myFunction;
Wir können es aufrufen, indem wir einen Funktionszeiger dereferenzieren:
fp(10);
Betrachten wir ein Programm, das einen Funktionszeiger verwendet, um das Maximum von zwei Zahlen zu berechnen:
#include <iostream> using namespace std; // 最大值函数 int max(int a, int b) { return a > b ? a : b; } // 函数指针比较函数 int compare(int a, int b, int (*fp)(int, int)) { return fp(a, b); } int main() { // 分配函数指针并调用它来计算两数的最大值 int (*fp)(int, int) = &max; int result = compare(5, 10, fp); // 打印结果 cout << "最大值:" << result << endl; return 0; }
Das obige ist der detaillierte Inhalt vonWie funktionieren Funktionszeiger in C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!