没有捕获任何变量的Lambda表达式可以转换成与它的调用原型一致的函数指针。参考下面的代码:
void example1()
{
auto add = [](int x, int y)
{
return x + y;
};
int x = 2, y = 3;
int z1 = add(x, y); // 调用Lambda
int(*f)(int, int) = add; // Lambda转换成函数指针
int z2 = f(x, y); // 调用函数
cout << z1 << ", " << z2 << endl;
}
Lambda是实现了函数调用运算符的匿名类(anonymous class)。对于每一个L