C++ Lambda表达式

来源:互联网 发布:行省制的影响知乎 编辑:程序博客网 时间:2024/06/16 08:17
//Lambda表达式,匿名函数对象    //C++11增加的新特性, 项目文件    //QT配合信号一起使用,非常方便    QPushButton *b4 =new QPushButton(this);    b4->setText("Lambda表达式");    b4->move(150,150);    // []代表把外部变量传进来,如果不传是不能被使用的    // [b4]代表把变量b4传进来    // [=]代表把外部所有局部变量、类中所有成员以值的传递方式    // [this]代表把类中所有成员以值的传递方式    // [&]代表把外部所有局部变量引用尽量, 引用符号    // int a=10,b=100;    // ()第二个参数 函数的参数列表    connect(b4,&QPushButton::released,           [b4]() // mutable    // 在此处添加mutable关键字,代表传进来的变量可以被修改,不写该关键字则不能被修改           {                if(b4->text()=="Lambda表达式") b4->setText("表达式Lambda"); //修改按钮标题                else b4->setText("Lambda表达式");                          //修改按钮标题                qDebug()<<"111111111";          //输出"111111111"                // qDebug()<<a<<b;              //当方括号内包含变量a、b或为等号时,此处可以输出变量a、b的值            }            );