[capture list](params list) mutable exception->return type {function body}
-
[capture list]
: 这是 lambda 表达式的捕获列表,用于指定在 lambda 函数体内可以访问的外部变量。捕获列表可以包含以下几种形式:[=]
: 值捕获,捕获所有外部变量,以副本的形式在 lambda 函数内使用。[&]
: 引用捕获,捕获所有外部变量,以引用的形式在 lambda 函数内使用。[x, &y]
: 混合捕获,x 以值捕获,y 以引用捕获。[this]
: 捕获当前类的 this 指针。
-
(params list)
: 这是 lambda 表达式的参数列表,与普通函数的参数列表语法相同。 -
mutable
: 这是可选的关键字,用于指定 lambda 函数可以修改在捕获列表中以值捕获的变量。 -
exception->return type
: 这是可选的异常说明和返回类型声明。异常说明用于指定 lambda 函数可能抛出的异常类型,返回类型声明用于指定 lambda 函数的返回类型。 -
{function body}
: 这是 lambda 表达式的函数体,包含了 lambda 函数的实际实现。
举例:[](int a, int b)->bool {return a < b;}