lambda表达式

lambda表达式

  1.     lambda 表达式 创建一个匿名函数
  2.     格式 [捕获的变量](函数的参数) mutable ->ret_type {函数体}(调用的时候传参)
    1.     [] 捕获的外部变量
    2.     [m] 捕获 m 值传递 且拷贝份不能修改 想修改 需要在()后加 mutable 关键字
    3.     [&m] 引用捕获m 修改的是本体
    4.     [&m,n] 引用捕获m, 值传递捕获n
    5.     [=] 值传递 捕获外部所有变量 但是不能修改拷贝份 需要加mutable关键字
    6.     [&] 引用传递 捕获外部所有变量 可以修改本体
    7.     [&, n] n 为值传递捕获 其它为引用传递捕获
    8.     [=, &n] n 为引用捕获 其它为值传递捕获
  3. ->ret_type 指定返回值类型

 示例:

vector<int> v;
int a, b;
[v, &a, &b](int)mutable ->int {
		return a;
	}(a);

可以用于QT槽函数、STL函数对象等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值