当你这样写时,不捕获外部变量,就相当于外部生成了一个’void lambda_xxxxxxxxxx::operator()(int& a)的函数。由于这个类未捕获任何数据,所以类大概是这样的: classlambda_xxxxxxxxxx{public:voidoperator()(int&a);private:};voidlambda_xxxxxxxxxx::operator()(int&a){printf("%d",a);} 这个类就这样,大小...
在上面的例子中我们使用了这样一行() -> System.out.println("使用Lambda表达式");下面我们对lambda的格式进行一个介绍: (1)左边括号:lambda的形参列表,就好比是我们定义一个接口,里面有一个抽象方法,这个抽象方法的形参列表。 (2)箭头:lambda的操作符,所以你看见这个箭头心中知道这是一个lambda表达式就可以了。
Lambda表达式在C++中的基本形式是这样的: [捕获列表](参数列表) -> 返回类型 { 函数体 }; 每个部分的作用如下: 一、捕获列表 [ ]:指定Lambda表达式可以访问哪些外部变量以及如何访问它们。这些变量被称为“捕获”的变量。捕获方式包括值捕获、引用捕获和隐式捕获。