概念与定义
是一个匿名函数,可以包含表达式和语句。可以让代码看起来十分简洁
出现的标志
[capture:捕获] (paramenter:界限) mutable -->return type { statement:语句 };
1.函数参数
【】内是函数参数对象,可以是 = 、&、空、this、
&--->注意按照引用传递方式,会锁死控件的一些属性,无法修改相关属性,建议用 =
=---> lambda所在作用范围内所有可见的变量,值传递的方式。有一种间接操作的感觉
this--->lambda内所有的成员变量
2.操作符重载函数参数
()-->内就是操作符重载函数参数,表示重载的()操作符的参数
没有的话,可以省略;参数可以通过按值和按引用传递
3.可修改标识符
mutable声明--在按值传递时,可以修改拷贝值,原数值不变。可以省略
如果想要修改值拷贝进来的这个数字,那么一定要加mutable这个关键字
int a=100;
connect(button2,&QPushButton::clicked,this,[a]()mutable{a=200;qDebug()<<a;});
connect(button3,&QPushButton::clicked,this,[=](){qDebug()<<a;});
4.返回值类型
示例代码:
int n=[=]()->int {return 1000;}();
qDebug()<<"n = "<<n<<endl;
本质是一个函数,需要调用,后面加一个函数调用符号();