匿名函数—— lambda
表达式
- 当代码里面存在大量的小函数,而这些函数一般只被一两处调用,那么推荐使用
Lambda
表达式 - 当你想用一个函数,但是又不想费神去命名一个函数时
[capture](params) -> return { /*func_code*/};
[capture]
中指定可见域范围内lambda
表达式代码内可见的参数
const
类型的lambda
表达式,该类型的表达式不能改捕获(“capture”)列表中的值
参数 | 作用 |
---|---|
[a, &b] | 前文定义的a以值方式被表达式捕获,b则以引用的方式 |
[this] | 以值的方式捕获 this 指针 |
[&] | 以引用的方式捕获所有的外部自动变量 |
[=] | 以值的方式捕获所有的外部自动变量 |
[ ] | 不捕获外部的任何变量 |
(params)
lambda表达式内部变量定义->ret
返回类型 ——lambda
表达式中可以有return
语句,如果不使用return
语句,则可省略,类似void
{ /*func_code*/}
——lambda
表达式的主题结构,函数的定义
eg.