
Lambda 表达式是 C++11 引入的一个重要特性,它提供了一种简洁的方式来定义匿名函数对象,可用于临时创建一个小的函数体,而无需显式定义一个命名的函数或函数对象。
语法结构
Lambda 表达式的基本语法如下:
[capture list] (parameter list) mutable exception attribute -> return type {
function body
}
- 捕获列表(capture list):用于指定 Lambda 表达式可以访问的外部变量,它可以为空。捕获方式有值捕获、引用捕获等。
- 参数列表(parameter list):与普通函数的参数列表类似,用于传递参数给 Lambda 表达式。如果没有参数,可以省略括号。
mutable(可选):默认情况下,Lambda 表达式中的值捕获变量是只读的,使用mutable关键字可以修改这些变量。- 异常属性(exception attribute):指定 Lambda 表达式可能抛出的异常,例如
noexcept表示该 Lambda 表达式不会抛出异常。 - 返回类型(return type):指定 Lambda 表达式的返回类型。如果编译器可以根据函数体推断出返回类型,这部分可以省略。
- 函数体(function body):包含 Lambda 表达式

&spm=1001.2101.3001.5002&articleId=145692608&d=1&t=3&u=66afccb4ece44ad08cc8ff01515dd686)
3818

被折叠的 条评论
为什么被折叠?



