1、综述
lambda表达式是一个匿名函数,它可以在函数内部定义,编译器会将lambda表达式当做一个函数对象。lambda表达式的形式为:[捕获列表] (参数列表) -> 返回类型{ 函数体 },其中“捕获列表”是表达式所在函数中定义的局部变量的列表,可以为空,而且lambda必须使用尾置返回来指定函数返回类型,eg:
int main() { function<int(int)> func = [](int x)->int { return x * x; }; cout << func(5) << endl; auto Func = [](int x)->int { return x * x; }; cout << Func(10) << endl; int(*FuncPtr)(int) = Func; cout << (*FuncPtr)(20) << endl; return 0; }