En C++, un pointeur de fonction est une variable pointant vers une fonction, qui peut transmettre ou stocker dynamiquement la fonction en tant que paramètre. La syntaxe est la suivante : nom du type * nom de la fonction. Lors de l'allocation, utilisez l'adresse du pointeur de fonction et déréférencez-la lors de l'appel. Par exemple, lors du calcul de la valeur maximale à l'aide d'un pointeur de fonction, le calcul est effectué en allouant le pointeur de fonction et en l'appelant.
En C++, un pointeur de fonction est une variable qui pointe vers une fonction. Cela nous permet de transmettre dynamiquement des fonctions en tant que paramètres ou de les stocker dans des structures de données.
Un pointeur de fonction est déclaré comme une fonction normale, mais le nom du type est suivi d'un astérisque (*) :
typedef void (*FunctionPointer)(int);
Nous pouvons attribuer une adresse de fonction à un pointeur de fonction tout comme un pointeur normal :
FunctionPointer fp = &myFunction;
On peut l'appeler en déréférençant un pointeur de fonction :
fp(10);
Considérons un programme qui utilise un pointeur de fonction pour calculer le maximum de deux nombres :
#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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!