lambda表达式

格式:[capture-list] (parameters) mutable -> return-type { statement}
[capture-list]:捕捉列表。用来识别是否为lambda函数。捕捉上下文参数供lambda函数使用。
(parameters) :需要使用到的参数,与普通函数的参数列表一致,如果无参,则可以省略。
mutable :默认情况下,lambda函数是一个const函数,加上mutable 可以取消常性,使用该修饰符时,参数列表不可省略(即使参数为空)。
-> return-type:返回值类型。没有返回值时此部分可省略。返回值类型明确情况下,也可省略,由编译器对返回类型进行推导。
{ statement}:函数体。与正常函数函数体一样,可以使用参数列表的参数,也可以使用捕捕捉列表捕捉到的参数。
最简单的lambda函数为:[]{}。
写一个简单的lambda函数

int main(){
    int a,b,c;
	a=b=c=1;
	//使用lambda函数以传值的方式捕捉a,b,c,进行a+b+c
	auto func1=[=](int a,int b,int c)->int{return a+b+c;}//[=]代表以传值的方式捕捉a,b,c
	//上面的->int 可以省略,修改为:[=](int a,int b,int c){return a+b+c;}
	
	//使用lambda函数以引用的方式捕捉a,b,c,改变a,b,c的值
	auto func2=[=](int a,int b,int c){a=2,b=2,c=2};
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力码代码的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值