cpp回调函数的概念以及使用方法

⌚Time: 2022-05-07 01:04:36

👨‍💻Author: Jack Ge

回调函数的定义:

在 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作为参数,实现了不同的功能。

在开发中,我经常使用的场景是对一个遍历目录功能的类注册回调函数:

通过为不同的文件类型注册不同的回调函数。当目录遍历到对应的文件类型,就会调用不同的回调函数进行操作。