std::vector pushback
时间: 2023-10-17 15:01:00 浏览: 122
std::vector类模板
引用和介绍了两种使用std::vector的push_back方法的不同方式。
在引用中,通过使用vec.push_back(i),将整数i添加到向量vec中。这种方法会发生拷贝构造操作,因此copy_construct_cnt_会增加。
而在引用中,通过使用vec.emplace_back(i),将整数i直接构造在vec中。这种方法会避免拷贝构造操作,因此copy_construct_cnt_保持为0。
在这两种情况下,construct_cnt_都会增加,因为新的元素被添加到向量中。move_construct_cnt_保持为0,因为没有使用移动构造操作。
因此,使用push_back方法或emplace_back方法的选择取决于是否需要避免拷贝构造操作,并根据具体的使用情况进行选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [std::vector之push_back&emplace_back](https://blog.csdn.net/GK_2014/article/details/108102221)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [C++ std::vector中push_back操作时间复杂度分析](https://blog.csdn.net/u011417820/article/details/79959825)[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^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文