c++-lambda简单了解

1
2
3
4
auto lambdaFunc = [&](){
int op = 1+2;
home(op);
};

lambda的最简单格式是{};
他只有对符合和一个分号,分别代表的是
[]:表示要开始一个lambda函数
():在这里面可以写参数
{}:函数体
;:语句结束
其中[]的用法有如下:
[]:不截取外部的任何变量,也就是说引用不到外部变量
[&]:截取外部变量,并且作为引用的方式在lambda函数中使用。也就是说外部的变量值改变里面的值也会改变,但是不可以使用局部变量,因为局部变量会被释放掉
[=]:以复制的形式截取外部的变量,也就是说外部变量值改变了,里面依旧是复制时的变量,既然是复制也就是说局部变量也可以使用
[=,&a]:和[=]功能一样,但是对a的变量是使用引用的方式
[a]:和[=]功能一样,但是只对a变量,其他变量忽略

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2020 翟天野

请我喝杯咖啡吧~