背景
Qt5中有全新的信号与槽语法,在Qt4基础上提高了信号与槽的灵活性,允许使用任意函数作为槽函数。但如果想更好地执行异步代码,连函数名都不想定义,则可通过Lambda表达式达到这个目的。Lambda表达式是C++11新增加的特性。
引用符
引入符 | 说明 |
---|---|
[] | 不捕获任何外部变量 |
[=] | 以传值的方式捕获所有的外部变量 |
[&] | 以传引用的方式捕获所有外部变量 |
[x,&y] | x以传值的方式捕获,y以传引用的方式捕获 |
[=,&x] | x以引用的方式捕获,其余外部变量以传值的方式捕获 |
[&,x] | x以传值的方式捕获,其余外部变量则以传引用的方式捕获 |
啥叫引用符?👇
如果在大括号中需要用到相应的变量就得在引用符中标识
啥叫外部变量?👇
注意
捕获列表不允许变量重复传递,如[=,a]则以传值方式捕获所有变量,又重复捕获a,会报错。