做设计常用网站,建立大型网站吗,上海制作网站的公司,哪家网站建设公司好回调通常通过函数指针、函数对象#xff08;仿函数#xff09;、Lambda 表达式或者 std::function 来实现。
1、函数指针实现回调
这一方法实现回调比较好记#xff0c;就记住把函数当作参数传给方法#xff0c;在方法中调用方法。
#include iostream// 回调函数…
回调通常通过函数指针、函数对象仿函数、Lambda 表达式或者 std::function 来实现。
1、函数指针实现回调
这一方法实现回调比较好记就记住把函数当作参数传给方法在方法中调用方法。
#include iostream// 回调函数类型
typedef void (*CallbackFunction)(int);// 使用回调函数的函数
void performCallback(int value, CallbackFunction callback) {// 执行某些操作std::cout Performing operation with value: value std::endl;// 调用回调函数callback(value * 2);
}// 回调函数
void callbackFunction(int value) {std::cout Callback executed with value: value std::endl;
}int main() {performCallback(5, callbackFunction);return 0;
}2、函数对象仿函数实现回调
#include iostream// 仿函数类
class CallbackClass {
public:void operator()(int value) const {std::cout Callback executed with value: value std::endl;}
};// 使用回调函数对象的函数
void performCallback(int value, const CallbackClass callback) {// 执行某些操作std::cout Performing operation with value: value std::endl;// 调用回调函数对象callback(value * 2);
}int main() {CallbackClass callbackObj;performCallback(5, callbackObj);return 0;
}3、Lambda 表达式实现回调
#include iostream// 使用回调Lambda的函数
void performCallback(int value, const std::functionvoid(int) callback) {// 执行某些操作std::cout Performing operation with value: value std::endl;// 调用回调Lambdacallback(value * 2);
}int main() {// 定义并传递Lambda作为回调performCallback(5, [](int value) {std::cout Callback executed with value: value std::endl;});return 0;
}推荐阅读
C std::tr1::function和std::tr1::bind模板类介绍qt测试-CSDN博客