优点

可以放在函数内部,因此离使用地点可以很近。

基本定义

auto f = [捕获外部变量] (形参列表) 指示符 异常设定 -> 返回类型{函数体};

其中,指示符异常设定 通常不写,返回类型可以智能判断(返回类型相当于使用decltype对返回值推断得出),除非情况特殊,也可以省略 ->返回类型

捕获外部变量

捕获外部变量说明
[]不捕获外部变量
[&]按引用捕获所有外部变量
[=]按值传递捕获所有外部变量
[a,...]具体将 a以按值传递捕获
[&a,...]具体将a以按引用传递捕获

形参列表

  • 必须要有参数名,因为后面定义函数体中需要用到

使用方法

// 例1 直接使用
count1 = std::count_if(n1.begin(),n1.end(),[](int x){return x%3 == 0;});
// 例2 命名再使用
auto f = [](int x) {return x % 3 == 0;};
count1 = std::count_if(n1.begin(),n1.end(),f);
最后修改:2019 年 11 月 07 日
如果觉得我的文章对你有用,请随意赞赏