lambda表达式的隐式捕获与显示捕获:https://blog.csdn.net/readyone/article/details/110948770
1. lambda表达式介绍
一个lambda表达式表示一个可以调用的代码单元,可以将其理解为一个未命名的内联函数。
lambda表示式的形式如下:
[capture list] (parameter list) -> return type {function body}
参数说明:
- capture list:捕获列表,由于lambda可以定义在函数内部,捕获列表就是用来表明使用函数内部的那些参数。
- parameter list:定义的形参列表
- return type:返回类型,必须使用**尾置返回(即 -> 符号)**指定返回类型
- function body:实现的函数体
2. 忽略参数列表和返回类型的lambda表达式
- lambda表达式中忽略小括号和形参列表等价于指定一个空参列表
- 如果忽略返回类型,则lambda表达式根据函数体中的代码自动推断返回类型
示例
// 忽略形参列表和返回类型的lambda表达式,自动推断返回类型为int
auto f = [] {
return