C++11 Lamda表达式

13 篇文章 0 订阅

C++11 Lamda表达式

[capture list] (params list) mutable exception-> return type { function body }

简写形式:

1	[capture list] (params list) -> return type {function body}
2	[capture list] (params list) {function body}
3	[capture list] {function body}
[]	不捕获任何外部变量
[变量名, …]	默认以值得形式捕获指定的多个外部变量(用逗号分隔),如果引用捕获,需要显示声明(使用&说明符)
[this]	以值的形式捕获this指针
[=]	以值的形式捕获所有外部变量
[&]	以引用形式捕获所有外部变量
[=, &x]	变量x以引用形式捕获,其余变量以传值形式捕获
[&, x]	变量x以值的形式捕获,其余变量以引用形式捕获

	auto fun = [](int x)->qfloat16 {return x + 1; };
	auto fun1 = [=]() mutable{c++; }; //mutable能改变外部变量的值,不加则报错
	auto kk = fun(2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值