c++ lambda表达式怎么用
时间: 2023-08-10 14:02:46 浏览: 114
Lambda表达式是C++11引入的一种匿名函数,它可以用于替代一些简单函数或函数对象的定义。Lambda表达式通常用于需要在函数中定义一个回调函数或者需要在函数中定义一个简单的函数对象时。
Lambda表达式的基本语法如下:
```c++
[capture list] (parameter list) -> return type { function body }
```
其中,capture list是Lambda表达式的捕获列表,用于指定Lambda表达式中使用的外部变量;parameter list是Lambda表达式的参数列表;return type是返回类型,可以忽略,编译器会自动推导;function body是函数体。
下面是一个Lambda表达式的例子:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 使用Lambda表达式进行排序
std::sort(v.begin(), v.end(), [](int a, int b) { return a < b; });
// 输出排序后的结果
for (int i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
这个例子中,Lambda表达式被用来指定std::sort()函数的排序规则,它使用小于号运算符来比较两个整数的大小。在这个Lambda表达式中,我们没有使用捕获列表或返回类型,这些都是可选的。
阅读全文