关于lambda表达式的一些整理

@**首先声明lambda表达式是一个函数

lambda表达式的用法

见到lambda函数时,你可能以为c++添加这项新功能意在帮助编程新手,其实不然。一下为lambda表达式的三种用法。

函数的声明

QPushButton btn= new QPushButton(“aaa”,this);

[ = ] () {
btn->setText(“bbb”);
};
函数的声明可以中以上示例做参看,但一般情况下本怎么使用。

函数的调用

QPushButton btn= new QPushButton(“aaa”,this);
[ = ] () {
btn->setText(“bbb”);
}();

函数的调用操作符必须要加()

关键字: mutable

我们要修改值传递进去的值的话,必须加mutable关键字,如果不加的话就会失败。

示例如下:

connect(btn,&QPushButton::clicked,this,
nummutable{
num = 123+321;
qDebug() << "num = " << num;
});

lambda表达式返回值写法

int ret = ->int{ return 10000;}();

qDebug() << "ret = " << ret;

返回值的时候要加->还有声明返回值的类型,以上是声明返回值的类型为int;

上一篇:js动画之多物体运动


下一篇:Qt QSS QPushButton