简述一下C++11 中 Lambda 新特性
C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,用来简化编程工作。
Lambda 的语法形式:
1 | [捕获列表] (参数列表) -> 返回值类型 { 函数体 }; |
[捕获列表]:这部分是捕获区,用于捕获外部变量,标识一个 Lambda 表达式的开始,不能省略
示例:
1 2 3 4 5 | [a]:将 a 按值进行传递 [&a]:将 a 按引用进行传递。 [a,&b]:将 a 按值传递,b 按引用进行传递。 [=,&a,&b]:除 a 和 b 按引用进行传递外,其它参数都按值进行传递。 [&,a,b]:除 a 和 b 按值进行传递外,其它参数都按引用进行传递。 |
(参数列表):同函数参数列表
-> 返回值类型:这部分如果返回值为 void,可以省略
{ 函数体 }:同函数的函数体
得分点
作用、语法形式
参考答案
标准回答
C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,用来简化编程工作。
Lambda 的语法形式:
[捕获列表]:这部分是捕获区,用于捕获外部变量,标识一个 Lambda 表达式的开始,不能省略
示例:
(参数列表):同函数参数列表
-> 返回值类型:这部分如果返回值为 void,可以省略
{ 函数体 }:同函数的函数体