Lambda表达式的使用

Lambda表达式(可以理解为一个函数对象,调用时重载了“()”)

定义:一个匿名函数,通过不同[capture]来捕获上下文的变量,进行处理的函数

格式:[capture] (params)  mutable -> return-type {}

参数介绍:

[capture]:

 (params)  mutable传入的参数,默认为const,不可修改;加了mutable,变为可修改参数

return-type:返回值类型

{}:函数体

应用:

void main()
{
    int a = 40;
    int b = 20;
    cout <<"a"<< a << endl;
    auto f = [a]()mutable {return a + 20; };  //可以理解f为一个函数对象
    a = 0;
    auto c = f();  //调用是重载了括号()
    cout << "c:" << c << endl;    
}
原文地址:https://www.cnblogs.com/single-dont/p/11372821.html