https://blog.csdn.net/qq_34097715/article/details/80224815
(1) [ capture ] ( params ) mutable exception attribute -> ret { body }
(2) [ capture ] ( params ) -> ret { body }
(3) [ capture ] ( params ) { body }
(4) [ capture ] { body }
- (1) 是完整的 lambda 表达式形式,
- (2) const 类型的 lambda 表达式,该类型的表达式不能改捕获("capture")列表中的值。
- (3)省略了返回值类型的 lambda 表达式,但是该 lambda 表达式的返回类型可以按照下列规则推演出来:
如果 lambda 代码块中包含了 return 语句,则该 lambda 表达式的返回类型由 return 语句的返回类型确定。
如果没有 return 语句,则类似 void f(...) 函数。
省略了参数列表,类似于无参函数 f()。