c++ - 因此,如果我不需要 emplace_back (emplace) 提供的新功能,我应该使用 push_back (insert)?
问题描述
在昨天问了一些虚拟问题、试验和阅读了很多关于emplace_back
over的内容之后push_back
,我仍然不确定我应该“默认”使用哪个,这意味着大部分时间。
正如对热门问题“我为什么要使用 push_back 而不是 emplace_back? ”的回答中所指出的那样,以及在其他文章emplace_back
中,人们在介绍“它可以做 push_back (insert) 可以做的任何事情,有时甚至可以做任何事情”之后得到的第一印象做得更好”是错误的。
到目前为止,我的印象是,在我使用移动语义的情况下(或者如果我需要进行复制),我无法从就地对象创建中受益,并且当我不需要返回值,使用push_back
链接中描述的显式构造函数可能会遇到麻烦,可能会更安全。
简单地说,如果我不使用emplace_back
具有和push_back
/insert
没有的新功能,我最好坚持使用push_back
/ insert
。
我是正确的,还是我又错过了什么?
解决方案
推荐阅读
- python - 用于调试步进的 Python 空闲键盘快捷键
- python - 熊猫样式:在整行上绘制边框,包括多索引
- python - 如何知道传递给函数的值是什么?
- sql - 在sql中根据另一个表中的日期计算一个表的数量总和
- chart.js - angular chartjs 折线图默认选项
- google-chrome - Google Chrome IndexedDb 奇怪的物理空间管理
- flutter - Flutter,很多StatefulWidget会不会有问题?
- python - 我无法在情节中制作地图
- filter - 在 pandoc 过滤器中返回 el.content 的文本字符串
- reactjs - 路由 - Reactjs - 只有第一个路由有效