Lambda表达式的使用

Posted single-dont

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;    

 

以上是关于Lambda表达式的使用的主要内容,如果未能解决你的问题,请参考以下文章

:Java之lambda表达式

死磕Lambda表达式:Lambda的使用

Lambda表达式

死磕Lambda表达式:Lambda的使用

Lambda 表达式

KotlinKotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )