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;