- Lambda表达式具体形式如下:capture->return-type{body}
- 获取外部变量->返回值{ 函数体 }
[](int x, int y) -> int { int z = x + y; return z; } - 无返回值时简写为:获取外部遍量{ 函数体 }
[](int x, int y) { int z = x + y; } - 无参数时简写为:[获取外部遍量]{ 函数体 }
[] { } - 可以在函数体中直接使用全局变量
- 获取外部变量
[] 不截取任何变量
[&] 截取外部作用域中所有变量,引用传递
[=] 截取外部作用域中所有变量,值传递
[x] x按值传递
[&x] x按引用传递
[x, &y] x 按值传递,y按引用传递
[&, x] x按值传递,其它变量按引用传递
[=, &x] x按引用传递,其它变量按值传递
[this] this指针,使用&或者=就默认添加此选项
c++进阶:匿名函数
最新推荐文章于 2024-06-14 17:03:54 发布