C++ 回调函数的用法
时间: 2024-03-21 18:36:34 浏览: 62
C++回调函数是指将一个函数作为参数传递给另一个函数,并在需要的时候调用该函数。回调函数的用法在C++中非常常见,特别是在事件处理、异步编程和库开发中。下面是C++回调函数的用法的一些示例:
1. 函数指针作为回调函数[^1]:
```cpp
#include <iostream>
void callbackFunction(int value) {
std::cout << "Callback function called with value: " << value << std::endl;
}
void performOperation(int value, void (*callback)(int)) {
// 执行某些操作
callback(value); // 调用回调函数
}
int main() {
performOperation(10, callbackFunction);
return 0;
}
```
2. 函数对象作为回调函数[^2]:
```cpp
#include <iostream>
class CallbackClass {
public:
void operator()(int value) {
std::cout << "Callback function called with value: " << value << std::endl;
}
};
void performOperation(int value, const CallbackClass& callback) {
// 执行某些操作
callback(value); // 调用回调函数对象
}
int main() {
CallbackClass callback;
performOperation(10, callback);
return 0;
}
```
3. 使用std::function作为回调函数:
```cpp
#include <iostream>
#include <functional>
void callbackFunction(int value) {
std::cout << "Callback function called with value: " << value << std::endl;
}
void performOperation(int value, const std::function<void(int)>& callback) {
// 执行某些操作
callback(value); // 调用回调函数
}
int main() {
std::function<void(int)> callback = callbackFunction;
performOperation(10, callback);
return 0;
}
```
这些是C++中回调函数的一些常见用法。通过回调函数,我们可以实现更加灵活和可扩展的代码结构。
阅读全文