匿名函数—— 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.