常用形式
[](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; } // 与上一个相同,省略了()
小例子
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
评论区