您的位置:首页 > 编程语言 > C语言/C++

C++ lambda简单了解

2014-11-06 21:54 253 查看
auto lambdaFunc = [&](){
int op = 1+2;
home(op);
};

lambda的最简单格式是[](){};
他只有对符合和一个分号,分别代表的是
[]:表示要开始一个lambda函数
():在这里面可以写参数
{}:函数体
;:语句结束

其中[]的用法有如下:
[]:不截取外部的任何变量,也就是说引用不到外部变量
[&]:截取外部变量,并且作为引用的方式在lambda函数中使用。也就是说外部的变量值改变里面的值也会改变,但是不可以使用局部变量,因为局部变量会被释放掉
[=]:以复制的形式截取外部的变量,也就是说外部变量值改变了,里面依旧是复制时的变量,既然是复制也就是说局部变量也可以使用
[=,&a]:和[=]功能一样,但是对a的变量是使用引用的方式
[a]:和[=]功能一样,但是只对a变量,其他变量忽略
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: