C语言风格 C++风格回调函数
两个代码举例
回调函数:
- 定义一个普通函数作为处理函数
- 将处理函数地址注册给调用者
- 调用者在适当的时候通过函数指针调用处理函数
//c-style
typedef void (*fooFunc1)(char*); //定义函数指针
void handle1(char* str){ /* func body */ }
void callFunc(fooFunc1 ff){ /* func body */ }
int main(){
callFunc(handle1);
return 0;
}
--------------------------
// cpp-style
#include <functional>
void func(){ /* func body */}
int main(){
std::function<void()> callFunc2;
callFunc2 = func;
callFunc2();
}