一、用途
回调函数主要用来完成这样一个功能,在一个新函数里,要用到其他函数的功能,然后把其他函数作为指针传入,在新函数里使用其他函数。那为什么不直接通过函数名调用其他函数呢?其实一般软件开发可以不用回调函数,除非设计一个框架,需要提高框架的普适性,就将函数作为入参,提供给使用者。sort函数的第三个参数就是回调函数,用来确定的递增排序还是递减,或者其他类型的排序。
二、代码
#include <iostream>
#include <string>
void callBack(double a,double b)
{
std::cout << "回调函数输出结果:" << a + b << std::endl;
}
void cal(void (*f)(double,double))
{
f(10, 20);
}
int main()
{
//进行回调
cal(callBack);
//或者这样写
void(*fun)(double, double) = callBack;//待回调的函数指针,这样写比较麻烦,相当于给callBack取了个别名
cal(fun);
return 0;
}