当前位置: 首页 > news >正文

【Qt】C++11 Lambda表达式

1. 举例

	connect(ui->pushButton, &QPushButton::clicked, [=](bool checked){//具体代码qDebug() << "Hello" << checked;}); 

2. 详情

//完整形式
[ capture ] ( params ) opt -> ret { body; };	
  • capture 是捕获列表
  • params 是参数表
  • opt 是函数选项
  • ret 是返回值类型
  • body是函数体。

3. []内的表达

  • [] 不捕获任何变量。
  • [&] 捕获外部作用域中所有变量,并作为引用在函数体中使用(按引用捕获)。
  • [=] 捕获外部作用域中所有变量,并作为副本在函数体中使用(按值捕获)。
  • [=,&foo] 按值捕获外部作用域中所有变量,并按引用捕获 foo 变量。
  • [bar]按值捕获 bar 变量,同时不捕获其他变量。
  • [this] 捕获当前类中的 this 指针,让 lambda 表达式拥有和当前类成员函数同样的访问权限。如果已经使用了 & 或者 =,就默认添加此选项。捕获 this 的目的是可以在 lamda 中使用当前类的成员函数和成员变量。

4. 参考

【Qt笔记】 qt信号与槽的连接,附带说一下lambda和函数指针


http://www.mrgr.cn/news/82955.html

相关文章:

  • AI人工智能大数据技术解锁竞彩足球分析软件准确率的密钥
  • 毕业项目推荐:基于yolov8/yolov5/yolo11的动物检测识别系统(python+卷积神经网络)
  • 探索数字化展馆:开启科技与文化的奇幻之旅
  • 数据库工程师进阶秘籍:云计算基础知识题目精选与答案(附PDF)
  • (六)优化 ChatGPT 交互:任务式 Prompt 的力量
  • Wend看源码-Java.util 工具类学习(下)
  • 【线性代数】通俗理解特征向量与特征值
  • Java Spring Boot实现基于URL + IP访问频率限制
  • 《Python趣味编程》专栏介绍与专栏目录
  • 虚表 —— 隐藏行(简单版)
  • 协作式 Saga 模式
  • MP4 与Fragmented MP4 (fMP4)的区别
  • Docker: 教程07 - ( 如何对 Docker 进行降级和升级)
  • STM32学习(十)
  • 嵌入式系统 (1.绪论)
  • GCC使用说明
  • .NET体系架构
  • 编排式 Saga 模式
  • 通过gradle发布aar或jar携带sources-jar到maven nexus
  • 【简博士统计学习方法】第1章:7. 生成模型与判别模型
  • HarmonyOS开发:粒子动画应用实战
  • TCP 套接字 方法
  • 我在广州学 Mysql 系列——与索引相关的练习题
  • 前端 动图方案
  • C#—Task异步的常用方法及TaskFactory工厂类详解
  • ELK实战(最详细)