function<>怎么使用
时间: 2024-09-12 16:04:20 浏览: 62
`function<>`是C++11标准引入的一种模板,它是一个泛型函数,也称为lambda表达式,允许你在运行时动态创建匿名函数。这种特性常用于函数对象、回调函数以及需要传递函数作为参数的情况。`function<>`的基本用法如下:
1. 创建函数对象:
```cpp
std::function<void(int)> func; // 定义一个可以接受int并返回void的函数指针
func = [] (int x) { std::cout << "Received: " << x << std::endl; }; // 使用lambda表达式赋值
```
2. 传递给其他函数:
```cpp
void applyFunction(std::function<void(int)> f, int arg) {
f(arg);
}
applyFunction(func, 5); // 调用匿名函数并传入5作为参数
```
3. 指针和引用:
```cpp
std::function<void()> ptr = &f; // 将普通函数指针转换为function<>
```
阅读全文