lambda

2018-07-19  本文已影响0人  混世太保

lambda 表达式的样子。

int main() {
    int girls = 3, boys = 4;
    auto totalChild = [](int x, int y) -> int { return x+y;};
    return totalChild(girls, boys);
}

其函数语法定义如下

[capture](parameters) mutable -> return-type {statement }

[capture] : 捕捉列表。捕捉列表能够捕捉上下文中的变量以供lambda函数使用。
(parameters): 参数列表。与普通函数的参数列表一致。如果不需要传入参数,则可以省略括号。
mutable: mutable修饰符、默认情况下,lambda函数总是一个const函数,在使用该修饰符时,参数列表不可省略(即使参数为空)
->return-type: 返回类型。用追踪返回类型形式声明函数的返回类型。在不需要返回值时也可以省略。或者在返回类型明确的情况下,也可以省略该部分,让编译器对返回类型进行推导。
{statement}:函数体。还可以使用捕获到的所有变量。

捕捉列表有如下几种形式:

举例:

上一篇 下一篇

猜你喜欢

热点阅读