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表达式的使用的主要内容,如果未能解决你的问题,请参考以下文章
KotlinKotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )