c++中std::bind函数
时间: 2023-11-09 21:59:07 浏览: 143
C++ 11 std::function和std::bind使用详解
std::bind是C++中的一个函数模板,它用于将一个可调用对象(函数、函数指针、成员函数、函数对象等)和其参数绑定在一起,生成一个新的可调用对象。绑定后的对象可以延迟调用,可以修改参数顺序,也可以固定某些参数的值。
std::bind的基本语法如下:
```cpp
std::bind(fn, args...)
```
其中,fn表示要绑定的可调用对象,args表示要绑定的参数。
示例代码:
```cpp
#include <iostream>
#include <functional>
void foo(int a, int b) {
std::cout << "a + b = " << a + b << std::endl;
}
int main() {
auto boundFunc = std::bind(foo, 10, std::placeholders::_1);
boundFunc(20); // 输出:a + b = 30
return 0;
}
```
在上面的示例中,我们使用std::bind将函数foo和参数10绑定在一起,生成了一个新的可调用对象boundFunc。当我们调用boundFunc时,实际上是调用了foo,并将参数20作为第二个参数传递给foo。
阅读全文