vector的push_back与emplace_back
时间: 2023-10-20 07:31:59 浏览: 88
vector的push_back和emplace_back都是向容器中添加元素的方法。它们的作用是相同的,都可以将元素添加到vector的末尾。
区别在于使用push_back时,需要传入一个已经存在的元素或临时创建的元素,而使用emplace_back时,可以直接传入构造该元素所需的参数。也就是说,emplace_back可以避免额外的复制和移动操作,因为它可以在容器内直接构造元素。
因此,如果要向vector中添加已经存在的元素或临时创建的元素,可以使用push_back;如果要向vector中添加新元素并避免额外的复制和移动操作,可以使用emplace_back。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [说说vector的emplace_back和push_back](https://blog.csdn.net/iaibeyond/article/details/119153008)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C++ 中”emplace_back” 与 “push_back” 的区别](https://download.csdn.net/download/weixin_38548704/13997185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文