关于Lambda的语法(C++)

关于Lambda的语法(C++)

定义:一个lambda表达式表示一个可以调用的代码单元
可调用对象:函数、函数指针、lambda、重载函数调用运算符的类
代码:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一些注意要点:
-如果lambda函数体包含任何单一return语句之外的内容,且未指定返回类型,则返回void
-隐式捕获、显示捕获:
	[&,identifier_list]: identifier_list是逗号分隔的列表,包括0个或者多个所在函数的变量,这些变量采用捕获的方式,任何隐式捕获的变量都采用引用方式捕获,identifier_list前不能使用&,[=,identifier_list]相反
-返回类型:transform(vi.begin(),vi.end(),vi.begin().[](int i){ if(i < 0) return -i; else return -i});会出现编译错误,因为有return 之外的句子,默认void但是返回了int
更正:使用尾置返回类型,transform(vi.begin(),vi.end(),vi.begin().[](int i)->int { if(i < 0) return -i; else return -i});

[1]: C++ primer 第五版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值