当前位置: 首页 > 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.lryc.cn/news/518935.html

相关文章:

  • 怎样提高服务器中的数据传输速度?
  • Vue 封装公告滚动
  • JVM实战—12.OOM的定位和解决
  • 【python翻译软件V1.0】
  • Spring Boot中的依赖注入是如何工作
  • ubuntu22.04 编译安装libvirt 10.x
  • [fastadmin] 第三十四篇 FastAdmin 商城模块标签使用详解
  • (2024,LLaVA-Bench (Wilder),LLaVA-NeXT,LLaMA3,Qwen-1.5,语言模型扩展)
  • IPEX-LLM开发项目过程中的技术总结和心得
  • HTTP/HTTPS ②-Cookie || Session || HTTP报头
  • 【软考】软件设计师
  • K8s Pod OOMKilled,监控却显示内存资源并未打满
  • C++ 原子变量
  • linux网络 | http结尾、理解长连接短链接与cookie
  • 金融项目实战 02|接口测试分析、设计以及实现
  • 二、智能体强化学习——深度强化学习核心算法
  • Mysql--架构篇--存储引擎InnoDB(内存结构,磁盘结构,存储结构,日志管理,锁机制,事务并发控制等)
  • JVM实战—13.OOM的生产案例
  • client-go 的 QPS 和 Burst 限速
  • 使用docker-compose安装Redis的主从+哨兵模式
  • 数据结构(Java版)第七期:LinkedList与链表(二)
  • ant-design-vue 1.X 通过id获取a-input组件失败
  • Flutter:吸顶效果
  • MATLAB语言的数据类型
  • priority_queue优先队列
  • HarmonyOS 鸿蒙Next 预览pdf文件
  • vscode开启调试模式,结合Delve调试器调试golang项目详细步骤
  • 身份鉴权(PHP)(小迪网络安全笔记~
  • 【git】-初始git
  • CSS 盒模型