回调函数实现事件驱动代码示例
时间: 2024-02-01 10:11:31 浏览: 72
回调函数是一种常见的实现事件驱动代码的方式。它允许我们在某个事件发生时,调用预先定义好的函数来处理该事件。下面是一个简单的回调函数实现事件驱动代码的示例:
```c++
#include <iostream>
// 定义回调函数类型
typedef void (*CallbackFunc)(int);
// 事件触发函数
void triggerEvent(int data, CallbackFunc callback) {
// 触发事件,并将数据传递给回调函数
callback(data);
}
// 回调函数1
void callback1(int data) {
std::cout << "Callback 1: " << data << std::endl;
}
// 回调函数2
void callback2(int data) {
std::cout << "Callback 2: " << data << std::endl;
}
int main() {
int eventData = 42;
// 注册回调函数1
triggerEvent(eventData, callback1);
// 注册回调函数2
triggerEvent(eventData, callback2);
return 0;
}
```
在上面的示例中,我们首先定义了一个回调函数类型 `CallbackFunc`,它接受一个整数参数并返回 `void`。然后,我们定义了两个具体的回调函数 `callback1` 和 `callback2`,它们分别打印出传递给它们的数据。
在 `main` 函数中,我们首先定义了一个事件数据 `eventData`,然后通过调用 `triggerEvent` 函数来触发事件,并将事件数据和回调函数作为参数传递给它。`triggerEvent` 函数在接收到事件后,会调用传递进来的回调函数,并将事件数据作为参数传递给它。
运行上述代码,输出结果为:
```
Callback 1: 42
Callback 2: 42
```
这说明回调函数成功地处理了事件,并且可以根据需要执行相应的操作。
阅读全文