泡泡的學習小筆記之回撥函式
阿新 • • 發佈:2020-12-23
回撥函式初接觸
Q1:什麼是回撥函式?
A:回撥函式就是一個被作為引數傳遞的函式。
Q2:如何使用回撥函式?
A:
第一步:建立一個回撥函式。(普通的函式建立)
第二步:在提供函式實現的一方進行初始化時,傳入回撥函式的指標給呼叫的一方。(將建立的回撥函式的指標給呼叫者)
當執行這個函式時,呼叫者就會使用函式指標呼叫回撥函式對時間進行處理
程式碼實現
//函式宣告
int calulate(int (*cal)(int,int),int,int);
int add(int,int);
int sub(int,int);
//主函式
int main()
{
//定義a,b 2個變數,c用來接收函式返回值
int a,b,c;
a=99;
b=88;
//回撥函式實現部分
c=calulate(add,a,b);
cout << "first: "<< c << endl;
c=calulate(sub,a,b);
cout << "second:" << c << endl;
return 0;
}
//定義實現帶參回撥函式的"呼叫函式"
//三個引數,第一個是呼叫的函式,第二和第三個為傳入的引數
int calulate(int (*cal)(int,int),int a,int b)
{
return cal(a,b);
}
//定義帶參回撥函式---加法
int add(int a,int b)
{
return a+b;
}
//定義帶參回撥函式---減法
int sub(int a,int b)
{
return a-b;
}
上述程式執行結果如下: