Lambda表达式
[传入表达式作用域下的参数](){函数体实现部分}(加上则为调用,不加可以作为槽函数地址)
例子:[=](){btn->setText("a");}()
[]中的参数:
- 空。没有使用任何函数对象参数。
- =。以值传递方式,函数体中可以使用该作用域下任何可见的局部变量,包括该类中的this。
- &。以引用传递方式,函数体中可以使用该作用域下任何可见的局部变量,包括该类中的this。
- this。可以可以使用Lambda所在类中所有成员变量。
- a,将a值传递进来,若要修改其拷贝,需要在{}前加上mutable关键字。
- &a,将a引用传递。
- =,&a。a引用传递,其余所有值传递。
- &,a。a值传递,其余所有引用传递。
若函数体中有返回值,则在{}前加上”->返回类型“