C++學習筆記(額外)--回撥函式的使用
阿新 • • 發佈:2021-01-04
技術標籤:C++
回撥函式簡介
回撥函式簡單來說就是函式A呼叫函式B,而函式B有一個引數是函式指標引數C,讓B反過呼叫這個函式指標引數C呼叫其對應的函式。簡單來說,就是一個函式呼叫另一個函式,被呼叫的函式的引數又是另一個函式。
C語言例子:
#include <stdio.h>
#include <stdlib.h>
/*callback fun1*/
int add(int a,int b)
{
printf("add\n");
return a+b;
}
/*callback fun2*/
int sub(int a,int b)
{
printf ("sub\n");
return a-b;
}
/*中間函式*/
int cal(int a,int b,int(*func)(int,int))
{
return func(a,b);
}
int main(int argc,char *argv[])
{
int c;
c = cal(10,20,add);
printf("10 + 20 = %d\n",c);
c = cal(10,20,sub);
printf("10 - 20 = %d\n",c);
return 0;
}
執行結果:
在這裡我定義了兩個回撥函式,分別實現加法與減法操作,定義了一箇中間函式cal