sub:lambda表达式(CPP)

sub:lambda表达式(CPP)

Content #

[ captures ] ( params ) specifiers exception -> ret { body }

方括号用于捕捉外部的非静态(nonstatic)对象。圆括号为lambda的参数。

下面的CPP lambda introducer(方括号的部分)的含义是什么?

[=, &y]

y以引用的方式传入,其它对象使用传值的方式。

返回lambda类型的函数:

std::function<int(int,int)> returnLambda ()
{
    return [] (int x, int y) {
      return x*y;
    };
}

重载操作符()与lambda表达式