大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > 系统架构 > QT > 《大宇的Qt学习笔记》 > [002.05]Lambda表达式

[002.05]Lambda表达式

发布时间:2018/05/30 《大宇的Qt学习笔记》 标签Lambda表达式阅读:102

前言:

前面学过普通的信号和槽,自定义信号和槽,带参数的信号和槽,今天学习一下C++11标准的Lambda表达式。

内容:

在前面项目中创建一个新的按钮b4

设置b4的参数

链接b4的触发情况,后面跟Lambda表达式:

Lambda表达式:

[](){}

大括号里面写内容。

运行效果如上

如果需要使用别的变量,就需要在中括号中添加相应的变量,如图演示

问题是如果需要使用很多变量,这个方法就显得很鸡肋。

于是我们紧接着介绍下面方法:

使用等号方式,把外部所有局部变量和类中成员以值的方式传递过来。

this关键字形容,如上

this能将类成员变量传入Lambda表达式中

使用引用的方式将局部变量传入Lambda表达式

注意:

Lambda表达式默认为只读方式,如果真的需要像指针一样改变传入Lambda的值的话需要在后面接上一个mutable

[]()mutable{

}

小括号的作用就是接收,信号传入的形参,如上图所示

 

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu

相关推荐

您好!请登录

合作网站快捷登录:
点击取消回复

已有1评论

    大宇博客

    点击这里给我发消息点击这里给我发消息