lambda表达式:
也可有几种简略声明
- [capture list] (params list) {function body}
- [](params list){function body}
lambda可嵌套使用
- auto res=[i] () {return [=](int x) {return i*x;}(5)};
Lambda表达式中,如果以传值方式捕获外部变量,则函数体中不能修改该外部变量。可以使用mutable关键字说明,表达式体内的代码可以修改捕获的变量
- [i] () mutable {return i++;}
lambda表达式中的参数限制
- 参数列表中不能有默认参数
- 不支持可变参数
- 所有参数必须有参数名