lambda表达式: [capture list](params list) mutable exception-> return type {function body}也叫匿名函数。
对于一个函数而言,由4部分组成:
返回值类型 函数体(形参列表)
{
函数体;
}
而针对匿名函数,因为没有名字,定义时即使用,它由以下几部分组成:
[捕获列表] (形参列表)-->返回值类型
{
函数体;
}
————————————————
原文链接:https://blog.csdn.net/qq_32283903/article/details/124744948
- Lambda表达式具体形式如下:capture->return-type{body}
- 获取外部变量->返回值{ 函数体 }
[](int x, int y) -> int { int z = x + y; return z; } - 无返回值时简写为:获取外部遍量{ 函数体 }
[](int x, int y) { int z = x + y; } - 匿名函数参数传递
[](int x, int y){}(1, 2) - 无参数时简写为:[获取外部遍量]{ 函数体 }
[] { } - 可以在函数体中直接使用全局变量
- 获取外部变量
[] 不截取任何变量
[&] 截取外部作用域中所有变量,引用传递
[=] 截取外部作用域中所有变量,值传递
[x] x按值传递
[&x] x按引用传递
[x, &y] x 按值传递,y按引用传递
[&, x] x按值传递,其它变量按引用传递
[=, &x] x按引用传递,其它变量按值传递
[this] this指针,使用&或者=就默认添加此选项
————————————————
原文链接:https://blog.csdn.net/onj123/article/details/105737769