std::bind 回调函数
时间: 2023-10-22 20:10:45 浏览: 112
回调函数
std::bind 是一个函数模板,用于创建一个可调用对象(函数对象或者函数指针),该可调用对象将绑定到特定的参数。在回调函数中,可以使用 std::bind 将参数传递给回调函数。
下面是一个示例代码,演示了如何使用 std::bind 来绑定参数并创建一个回调函数:
```cpp
#include <iostream>
#include <functional>
void callback(int a, int b) {
std::cout << "Callback called with a = " << a << ", b = " << b << std::endl;
}
int main() {
// 使用 std::bind 绑定参数,并创建一个回调函数对象
auto boundCallback = std::bind(callback, 42, std::placeholders::_1);
// 调用回调函数
boundCallback(99);
return 0;
}
```
输出结果为:
```
Callback called with a = 42, b = 99
```
在上面的示例中,`std::bind(callback, 42, std::placeholders::_1)` 创建了一个可调用对象 `boundCallback`,它将参数 `42` 绑定到 `callback` 函数的第一个参数,并将第二个参数留待调用时传递。
阅读全文