lambda
表达式//C++ 11
中的Lambda
表达式用于定义并创建匿名的函数对象,以简化编程工作。
Lambda
的语法形式如下:
//[函数对象参数
](操作符重载函数参数
) mutable
或exception
声明->返回值类型
{函数体}//可以看到,
Lambda
主要分为五个部分:
//[函数对象参数
]、(操作符重载函数参数
)、mutable
或exception
声明、->返回值类型、
{函数体}。下面分别进行介绍。
//一、[函数对象参数
],标识一个
Lambda
的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数的。
//函数对象参数只能使用那些到定义
Lambda
为止时Lambda
所在作用范围内可见的局部变量(包括
Lambda
所在类的
this
)。函数对象参数有以下形式:
//1、空。没有使用任何函数对象参数。
//2、=。函数体内可以使用
Lambda
所在作用范围内所有可见的局部变量(包括
Lambda
所在类的
this
),并且是值传递方式(相当于编译器自动为我们按值传递了所有局部变量)。
...


雷达卡


京公网安备 11010802022788号







