std::bind std::function 使用示例
时间: 2023-11-28 17:43:47 浏览: 84
C++ 11 std::function和std::bind使用详解
下面是一个使用std::function和std::bind的示例:
```c++
#include <iostream>
#include <functional>
void printNum(int num) {
std::cout << "Number: " << num << std::endl;
}
int main() {
// 使用std::function定义一个函数对象
std::function<void(int)> funcObj;
// 使用std::bind绑定函数和参数,返回一个函数对象
funcObj = std::bind(&printNum, std::placeholders::_1);
// 调用函数对象
funcObj(123);
return 0;
}
```
上述代码中,我们首先定义了一个名为`printNum`的函数,该函数接受一个整数参数并将其打印到控制台上。然后,我们使用`std::function`定义了一个函数对象`funcObj`,该函数对象接受一个整数参数并不返回任何值。接下来,我们使用`std::bind`将`printNum`函数和占位符`std::placeholders::_1`绑定在一起,返回一个函数对象,并将该函数对象赋值给`funcObj`。最后,我们调用`funcObj`并传递一个整数参数123,该整数参数将被传递给`printNum`函数。
阅读全文