常用形式

  1. [](int x, int y) -> int { int z = x + y; return z; } //这样显示指定返回类型:
  2. [](int x, int y) { return x + y; } // 隐式返回类型
  3. [](int& x) { ++x; } // 没有return语句 -> lambda 函数的返回类型是'void'
  4. []() { ++global_x; } // 没有参数,仅访问某个全局变量
  5. []{ ++global_x; } // 与上一个相同,省略了()

小例子

  1. #include <iostream>
  2. int main() {
  3. // lambda表达式
  4. auto multiply = [](int a, int b) -> int { return a * b; };
  5. // 匿名函数调用
  6. auto result = multiply(2, 4);
  7. std::cout << result << std::endl;
  8. return 0;
  9. }

参考

一些进一步用法https://www.cnblogs.com/pzhfei/archive/2013/01/14/lambda_expression.html