在 C++ 中,回调函数是指在执行某个函数时,将另一个函数作为参数传递给该函数,以便在需要时调用该函数。回调函数通常用于实现事件处理、异步编程和插件等功能。
C++ 中实现回调函数的方法有多种,其中一种常用的方法是使用函数指针。函数指针是一个指向函数的指针变量,可以将其作为参数传递给其他函数,以便在需要时调用该函数。
以下是一个使用函数指针实现回调函数的示例代码:
#include <iostream>
// 定义一个回调函数类型
typedef void (*Callback)(int);
// 定义一个函数,接受一个回调函数作为参数
void doSomething(Callback callback) {
std::cout << "正在执行操作..." << std::endl;
// 在需要时调用回调函数
callback(123);
}
// 定义一个回调函数
void onCallback(int value) {
std::cout << "回调函数被调用,参数是:" << value << std::endl;
}
int main() {
// 将回调函数作为参数传递给 doSomething 函数
doSomething(onCallback);
return 0;
}
在上面的示例代码中,我们定义了一个回调函数类型 `Callback`,它接受一个 `int` 类型的参数并返回 `void`。然后,我们定义了一个函数 `doSomething`,它接受一个回调函数指针作为参数,并在需要时调用该函数。最后,我们定义了一个回调函数 `onCallback`,它将在 `doSomething` 函数中被调用。
在 `main` 函数中,我们将回调函数 `onCallback` 作为参数传递给 `doSomething` 函数,以便在需要时调用该函数。当程序运行时,输出将为:
正在执行操作...
回调函数被调用,参数是:123
这说明回调函数已经被成功地调用了。