c++ 回调函数举个例子
时间: 2023-08-15 09:08:37 浏览: 105
当在C++中使用回调函数时,可以通过函数指针或函数对象来实现。以下是一个使用函数指针的简单示例:
```cpp
#include <iostream>
// 回调函数类型
typedef void (*CallbackFunction)(int);
// 接受回调函数作为参数的函数
void performOperation(int value, CallbackFunction callback) {
// 执行操作...
std::cout << "Performing operation with value: " << value << std::endl;
// 调用回调函数
callback(value);
}
// 回调函数的实现
void callbackFunction(int value) {
std::cout << "Callback function called with value: " << value << std::endl;
}
int main() {
int value = 10;
// 调用函数并传递回调函数
performOperation(value, callbackFunction);
return 0;
}
```
在上面的例子中,我们首先定义了一个回调函数类型`CallbackFunction`,它是一个指向返回类型为`void`、参数为`int`的函数指针。
然后,我们定义了一个名为`performOperation`的函数,它接受一个`int`类型的值和一个回调函数作为参数。在该函数内部,我们执行一些操作,并调用传递进来的回调函数。
接下来,我们定义了一个名为`callbackFunction`的回调函数,它接受一个`int`类型的值,并在被调用时打印出该值。
在`main`函数中,我们声明了一个整数变量`value`,然后调用`performOperation`函数并传递`value`和`callbackFunction`作为参数。这样,当`performOperation`函数执行完操作后,会调用传递的回调函数`callbackFunction`。
当运行上述代码时,输出结果将是:
```
Performing operation with value: 10
Callback function called with value: 10
```
这是一个简单的示例,展示了C++中使用函数指针实现回调函数的方法。实际应用中,可以根据需要使用不同的回调函数和参数类型来扩展和定制程序的行为。
阅读全文