- C++11中的Lambda表达式用于定义并创建匿名的函数对象。
- Lambda表达式的基本构成:
最简单的lambda表达式如下
[](参数1,参数2)
{
函数实现的代码
}
- Lambda表达式是从[]开始的,这部分必须存在,不能省略,[]里面可以带参数,参数有=,&,this
(1)参数=表示数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是值传递方式(相当于编译器自动为我们按值传递了所有局部变量)。
(2)参数&表示函数体内可以使用Lambda所在作用范围内所有可见的局部变量(包括Lambda所在类的this),并且是引用传递方式(相当于编译器自动为我们按引用传递了所有局部变量)。
(3)参数this表示函数体内可以使用Lambda所在类中的成员变量。 - []后面的()是传递参数的位置,
- {}则是函数体,函数实现的地方。