vectorv erase
时间: 2023-09-30 18:12:41 浏览: 94
在C++中,vector的erase函数用于从vector中删除一个或多个元素。它有两种重载形式。
首先是erase函数的原型:
```cpp
iterator erase(iterator position);
```
这个函数用于删除指定位置的元素,并返回被删除元素的下一个元素的迭代器。为了保证迭代器的有效性,通常需要将返回的迭代器重新赋值给原来的迭代器变量。
另外一种形式是:
```cpp
iterator erase(iterator first, iterator last);
```
这个函数用于删除从[first, last)范围内的所有元素,并返回被删除元素的下一个元素的迭代器。
需要注意的是,在使用vector的erase函数时需要注意迭代器是否会失效。因为删除元素会导致容器的元素重新排列,可能会使之前的迭代器失效。所以在使用erase函数时,要确保迭代器的有效性。
你可以参考中的原文和中的链接了解更多关于vector中erase函数的用法和注意事项。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [vector与map的erase()函数详细解析](https://download.csdn.net/download/weixin_38562329/14872771)[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: 33.333333333333336%"]
- *2* [c++ Vector之erase(导致迭代器失效)vector.erase源码解析](https://blog.csdn.net/me1171115772/article/details/112003127)[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: 33.333333333333336%"]
- *3* [vector中erase删除元素用法及注意事项](https://blog.csdn.net/u013171226/article/details/118762113)[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: 33.333333333333336%"]
[ .reference_list ]
阅读全文