作用:
- 匿名函数,对于某种情况下只需要运用一次的函数,避免污染环境。而且使得逻辑更加紧凑,更加易读。
- 闭包, 闭包是指将当期作用域的变量以
值传递
或者引用传递
的方式封装到lambda
表达式中。实际上就相当于将lambda
表达式从一个普通的函数封装成了一个带隐藏参数的函数。
表达式规范:
[
捕获参数
] (入参
) ->返回值
{函数内容
}
捕获参数可以是以下形式:
- [ a, &b ] a变量以值传递的形式被捕获,b变量以引用的形式被捕获
- [ = ] 以值传递的方式捕获外部所有自动变量
- [ & ] 以引用传递的方式捕获外部所有自动变量
- [ this ] 以值传递的方式捕获this指针
- [ ] 不捕获任何变量
不需要的情况下,入参
,->返回值
均可以省略