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

STL中emplace实现原理是什么?

template <class... Args>void emplace_back (Args&&... args);

这个是vector的emplace_back方法,用到的c++11的语法有三个,分别是万能引用、完美转发、参数包。

参数包中的参数是用来构造vector<T>中的T对象。

假如我直接传的就是一个T对象,万能引用和完美转发实现传参的T是右值就调用移动构造,是左值就调用拷贝构造,如果是空就调用T默认构造,如果是普通参数就调T普通带参构造,所以emplace实现了你可以调用T的任意一个构造函数来构造T并插入vector尾部

相关文章:

  • tigase源码学习杂记-IO处理的线程模型
  • 如何导出1寸分辨率为300及以上的照片?
  • TC3xx学习笔记-UCB BMHD使用详解(一)
  • 如何给GitHub项目提PR(踩坑记录
  • 【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现
  • 目标检测原理简介
  • Linux系统编程之内存映射
  • AI编程方法第六弹:高效编码离不开编程者经验引导
  • 设计看似完美却测不过? Intra-Pair Skew 是「讯号完整性(Signal Integrity)」里最隐形的杀手
  • venv环境基础指令以及常见问题汇总(持续更新)
  • 《AI大模型趣味实战》智能Agent和MCP协议的应用实例:搭建一个能阅读DOC文件并实时显示润色改写过程的Python Flask应用
  • WPF之项目创建
  • Rule.resource作用说明
  • 安装docker,在docker上安装mysql,docker上安装nginx
  • 微信小程序,基于uni-app的轮播图制作,调用文件中图片
  • 加里·基尔代尔:CP/M之父与个人计算时代的先驱
  • 线程池(六):ThreadLocal相关知识详解
  • 移除元素(简单)
  • 游戏引擎学习第246天:将 Worker 上下文移到主线程创建
  • C语言中结构体的字节对齐的应用
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期
  • 两部门调度部署“五一”假期安全防范工作,要求抓好旅游安全
  • 专访 | 杜普兰蒂斯:爱上中国文化,下一步努力提升速度
  • 东风着陆场做好各项搜救准备,迎接神舟十九号航天员天外归来
  • 体坛联播|安切洛蒂预计执教巴西国家队,利拉德确诊跟腱撕裂
  • 专业竞演、剧场LIVE直播,32位越剧新星逐梦上海