AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
push_back和emplace_back
2023-04-19 22:02:29
4
举报
分享方式
免费使用
AI智能生成
近期关于push_back和emplace_back的区别的研究
读书笔记
算法
模板推荐
作者其他创作
大纲/内容
无区别场景<br>
不进入构造函数
基本类型0初始化
禁止隐式类型转换
参数列表失效<br>
传入参数为左值
都调用拷贝构造函数
编译器对单右值传入进行优化
部分编译器对于单个右值返回,pushback会使用右值引用接住后再次使用move转为右值并调用emplaceback
有区别场景
编译器不进行优化或传入参数列表
push_back
首先在外面调用构造函数产生一个临时右值
使用右值引用参数接住右值,随后调用construct方法
construct方法遇见左值参数,会调用拷贝构造函数,启用深拷贝将目标拷贝到vector尾部
emplace_back
使用可变参数列表接住参数
随后使用forward方法对参数进行完美转发
construct遇见参数列表,调用构造函数,分辨参数类型,直接在vec尾部进行构造
收藏
立即使用
Linux多线程开发
收藏
立即使用
Linux多进程开发
收藏
立即使用
Linux环境搭建
收藏
立即使用
Linux网络编程
pgydsjy
职业:暂无
去主页
Collect
Get Started
push流程
Collect
Get Started
AWS BPM 5.2 - "Back end as a Service"
Collect
Get Started
push
Collect
Get Started
push
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document