常用形式
[](int x, int y) -> int { int z = x + y; return z; } //这样显示指定返回类型:
[](int x, int y) { return x + y; } // 隐式返回类型
[](int& x) { ++x; } // 没有return语句 -> lambda 函数的返回类型是'void'
[]() { ++global_x; } // 没有参数,仅访问某个全局变量
[]{ ++global_x; } // 与上一个相同,省略了()
小例子
#include <iostream>
int main() {
// lambda表达式
auto multiply = [](int a, int b) -> int { return a * b; };
// 匿名函数调用
auto result = multiply(2, 4);
std::cout << result << std::endl;
return 0;
}
参考
一些进一步用法https://www.cnblogs.com/pzhfei/archive/2013/01/14/lambda_expression.html