Lamba表达式

首先在

pro文件中添加一个:

CONFIG+=c++11


QPushButton *b4=new QPushButton(this);
    b4->setText("Lamba");
    int a=10,b=20;
    connect(b4,&QPushButton::released,
           [=]()
           {
                qDebug()<<a<<" "<<b;
           }
           );

我们创建了一个按钮,然后connect是重点,Lamba表达式的格式大家可以看出来,我们抓重点,里面的【】是重点

它里面是用来放需要传入的参数,因为{  }里面是不能调用外面的函数或者参数的,因为作用域不够,所以需要传入参数

它可以是:


一般如果需要的比较多的话,那么推荐用=

另外,{  }里面是只读,不能改变传入参数的值,但是加上一个关键字mutable就可以改变了:

int a=10,b=20;
    connect(b4,&QPushButton::released,
           [=]() mutable
           {
                a=100;
                qDebug()<<a<<" "<<b;
           }
           );

下面是运行的结果

扫描二维码关注公众号,回复: 2191462 查看本文章


猜你喜欢

转载自blog.csdn.net/scwmason/article/details/81052347
今日推荐