C++举例一个回调函数的代码
时间: 2024-03-23 08:35:57 浏览: 25
回调函数是指在程序运行时将一个函数作为参数传递给另一个函数,并在另一个函数中调用该函数。在C++中,回调函数可以用函数指针或函数对象实现。以下是一个使用函数指针实现回调函数的示例代码:
```c++
#include <iostream>
// 回调函数类型,参数为整型和函数指针
typedef void (*callback_func)(int, void*);
// 回调函数
void callback(int result, void* userData){
std::cout << "回调函数被调用,返回值为:" << result << std::endl;
}
// 用于触发回调函数的函数
void doSomething(int para, callback_func cb, void* userData){
int result = para * 2;
cb(result, userData);
}
int main(){
// 调用函数,传入回调函数和回调函数的参数
doSomething(10, callback, nullptr);
return 0;
}
```
在上述代码中,定义了一个回调函数类型`callback_func`,用于指定回调函数的参数类型。然后定义了一个回调函数`callback`,用于在`doSomething`函数中被调用。`doSomething`函数接受一个整型参数`para`,一个回调函数`cb`和一个`void*`类型的指针`userData`,在函数内部计算出结果并调用回调函数`cb`,将结果和`userData`作为参数传递给回调函数。最后,在`main`函数中调用`doSomething`函数,传入回调函数和回调函数的参数,触发回调函数的执行。