下面是C++中Lambda表达式的语法与实例的详细讲解。
1. Lambda表达式的语法
Lambda 表达式的一般形式如下:
[capture list] (parameter list) -> return type
{
// 函数体
}
- capture list: 捕获列表,表示可以捕获外部变量,以使用这些变量在 Lambda 表达式中。
- parameter list: 参数列表,表示 Lambda 表达式可以传递的参数列表,就像普通函数一样。
- return type: 返回类型,表示 Lambda 表达式的返回类型。如果 Lambda 表达式中没有返回值,则可以省略该部分。
- 函数体: Lambda 表达式的主体,函数体中的语句构成了 Lambda 表达式的操作。
2. Lambda表达式的实例
下面给出两个简单的实例,说明Lambda表达式的使用。
实例一:使用Lambda表达式自定义排序函数
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> num = {33, 22, 66, 11, 77};
// 使用Lambda表达式排序
sort(num.begin(), num.end(), [](int a, int b) { return a < b;});
// 输出排序后的结果
for(int n : num) {
cout << n << " ";
}
return 0;
}
运行结果:
11 22 33 66 77
实例二:使用Lambda表达式求和
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<int> num = {1, 2, 3, 4, 5};
// 使用Lambda表达式求和
int sum = accumulate(num.begin(), num.end(), 0, [](int a, int b) { return a + b;});
// 输出结果
cout << "sum = " << sum << endl;
return 0;
}
运行结果:
sum = 15
以上是Lambda表达式的简单应用实例,Lambda表达式在实际的开发中可以用来替代一些函数对象,代码简洁方便。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++中Lambda表达式的语法与实例 - Python技术站