常 //因此std::fu
时间: 2024-08-26 13:00:28 浏览: 38
C++11中std::future的具体使用方法
在C++中,`std::function`是一个模板类,它允许你在运行时动态地存储并执行任意类型的函数或函数对象。它提供了一种通用的方式来封装和传递函数,使得程序能够处理不同类型、不同参数列表甚至不同返回类型的函数。通过`std::function`,你可以将函数指针、成员函数、lambda表达式甚至是其他`std::function`对象作为参数传递给其他函数,增加了代码的灵活性和复用性。
例如:
```cpp
#include <functional>
void print(int x) { std::cout << "Integer: " << x << std::endl; }
void print(double y) { std::cout << "Double: " << y << std::endl; }
int main() {
std::function<void(void)> func;
// 存储整数打印函数
func = print;
func(5); // 输出 Integer: 5
// 存储双精度打印函数
func = print; // 注意这里不需要重新赋值,因为已经指向了新的函数
func(3.14); // 输出 Double: 3.14
return 0;
}
```
阅读全文