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

【可变参数,lambda,function,bind】

可变参数

Args模板参数包
在这里插入图片描述
解析参数包,使用递归和再来一个参数包。参数包传参时,会把第一个数据给前面的,剩下的数据全部传给后面的参数包,参数包就一直变小。
在这里插入图片描述

lambda表达式

书写格式:[capture-list] (parameters) mutable -> return-type { statement
}
捕捉列表,参数列表,mutable可以不写取消常属性,返回类型如果编译器可以自动推导也可以不写,函数体。
例:
在这里插入图片描述
lambda本质是一个匿名对象,里面重载了operator()所以可以通过仿函数的形式调用。
[]捕捉列表,捕捉过来的参数成为了lambda的成员变量,所以可以在里面用。
但是默认是常量,想修改可以加上面的mutalbe。
[=]:表示值传递方式捕获所有父作用域中的变量(包括this)。
[&]:表示引用传递捕捉所有父作用域中的变量(包括this
[var]:表示值传递方式捕捉变量var。
[&var]:表示引用传递捕捉变量var。
[this]:表示值传递方式捕捉当前的this指针。

function包装器

可以包装函数指针,仿函数,lambda。
在这里插入图片描述
使用举例,把一些可调用对象存到容器里。function就可以作为容器的类型
在这里插入图片描述

bind调整参数个数

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/409570.html

相关文章:

  • RabbitMQ 消息队列代码实战1
  • STL之哈希
  • arm学习总结
  • 【Electron学习笔记(一)】Electron基本介绍和环境搭建
  • mac Parallels Desktop 20 20.1.1-55740安装windows10教程
  • 基于yolov8、yolov5的智能零售柜商品检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • [极客大挑战 2019]BabySQL--详细解析
  • 数据库-基础理论
  • git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
  • 长三角文博会:Adobe国际认证体系推动设计人才评价新标准
  • 【C语言】深入解析assert 断言机制
  • Spring Boot 2 和 Spring Boot 3 中使用 Spring Security 的区别
  • 微信小程序页面配置详解:从入门到精通
  • MATLAB实现garch模型(广义自回归条件异方差)
  • LayaBox1.8.4实现自定义3DMesh
  • PyOCD 的基本使用
  • 详解Qt QDir路径类
  • 跨平台应用开发框架(1)----Qt(组件篇)
  • C#里怎么样实现单向链表?
  • 《图像梯度与常见算子全解析:原理、用法及效果展示》