Lambda 表达式是 C++11 引入的一种匿名函数的方式,它允许你在需要函数的地方内联地定义函数,而无需单独命名函数
Lambda 表达式的基本语法如下:
[capture clause](parameters) -> return_type {
// 函数体
// 可以使用捕获列表中的变量
return expression; // 可选的返回语句
}
捕获列表(Capture clause):用于捕获外部变量,在 Lambda 表达式中可以访问这些变量。捕 获列表可以为空,也可以包含变量列表 [var1, var2, ...]。
参数列表(Parameters):与普通函数的参数列表类似,可以为空或包含参数列表 param2, ...)。
返回类型(Return type):Lambda 表达式可以自动推断返回类型auto,也可以显式指定返回类 型- > return_type。如果函数体只有一条返回语句,可以省略返回类型。
函数体(Body):Lambda 表达式的函数体,包含需要执行的代码。
#include <iostream>
int main() {
// 定义一个简单的 Lambda 表达式进行加法
auto add = [](int a, int b) {
return a + b;
};
// 使用 Lambda 表达式计算两个数的和
int sum = add(10, 20);
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
示例:使用匿名 Lambda