1. 程式人生 > 其它 >C++學習筆記(額外)--回撥函式的使用

C++學習筆記(額外)--回撥函式的使用

技術標籤: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

,通過向此函式中的引數引數傳遞不同的函式指標,從而實現不同的函式函式結果。