回调函数
回调函数(callback function)是指在编程中传递给其他代码的函数,以便在特定事件发生时被调用。回调函数通常作为参数传递给其他函数,以便在需要时执行特定的操作或处理特定的事件。
第一步:定义回调函数
回调函数的形参为自定义状态;
#include <iostream>
enum State {
EXE_SUCCESS,
EXE_FAIL,
EXE_PARAMFAIL
}
void callBackFunc(State s) {
switch (s)
{
case EXE_SUCCESS:
std::cout << "成功" << std::endl;
break;
case EXE_FAIL:
std::cout << "失败" << std::endl;
break;
case EXE_PARAMFAIL:
std::cout << "参数错误" << std::endl;
break;
default:
break;
}
}
第二步:定义回调函数类型,调用回调函数
调用回调函数方,应该定义接口拿到回调函数类型;通过执行的事件不同触发回调函数。
typedef void(*StateCall)(State);
void testCallBack(StateCall funCall) {
Sleep(1000);
funCall(EXE_SUCCESS);
Sleep(2000);
funCall(EXE_FAIL);
Sleep(5000);
funCall(EXE_PARAMFAIL);
}
第三步:执行回调函数
main函数执行测试回调
int main(){
testCallBack(callBackFunc);
}
总结
回调函数通常用于实现事件驱动编程、异步编程等场景,可以使代码更加灵活和模块化。在使用回调函数时需要注意避免出现死锁和资源竞争等问题,确保回调函数的安全性和可靠性。