回调函数的定义:
在 C++ 中,回调函数是一种常见的编程模式,允许函数作为参数传递给另一个函数,并在适当的时候被调用。
回调函数的形式:
#include <iostream>
using namespace std;
typedef int(*CallBackFunc)(int,int);
int call_func(int num1,int num2,CallBackFunc func){
return func(num1,num2);
}
int operation_plus(int num1,int num2){
return num1+num2;
}
int operation_minus(int num1,int num2){
return num1-num2;
}
int main(int argc,char *args[]){
int a=1;
int b=2;
cout<<a<<" + "<<b<<" = "<<call_func(a,b,operation_plus)<<endl;
cout<<a<<" + "<<b<<" = "<<call_func(a,b,operation_minus)<<endl;
return 0;
}
在main函数中,调用了函数call_func,并通过将回调函数operation_plus以及operation_minus作为参数,实现了不同的功能。

在开发中,我经常使用的场景是对一个遍历目录功能的类注册回调函数:
通过为不同的文件类型注册不同的回调函数。当目录遍历到对应的文件类型,就会调用不同的回调函数进行操作。