在C++中,回调函数就是通过一个函数指针调用的函数,如果你把函数的指针(地址)作为参数传递给另一个函数,党这个指针被用来调用其所指向的函数时,我们就说这是回调函数。
回调函数不是又该函数的实现直接调用,而是在特定的事件或条件发生时又另外的一方调用的,用于对该时间或条件进行相应。
1.函数指针作为另一个函数参数
2.回调函数不是有函数实现方法直接调用
3.特定事件或条件发生由另一方调用
定义:
typedef void(*pFun)(int,int,double)
typedef定义了一个回调函数PFun,其返回类型是void,接受两个int类型和应该double类型的参数
例子:
#includeusing namespace std; int sum(int num1, int num2) { return num1 + num2; } int sub(int num1, int num2) { return num1 - num2; } int mul(int num1, int num2) { return num1 * num2; } int _div(int num1, int num2) { return num1 / num2; } typedef int(*pFunc)(int a, int b); int func10(int a,int b, pFunc func) { return func(a, b); } int main() { int a = 2,b=6; int retSum = func10(a,b, &sum); int retSub = func10(a, b,& sub); int retMul = func10(a, b, &mul); int retDiv = func10(a, b,& _div); cout << "retSum = " << retSum << " retSub = " << retSub << endl; cout << "retMul = " << retMul << " retDiv = " << retDiv << endl; return 0; }



