c++vector删除(c++vector clear)
简介:
C++中的vector是一种动态数组,可以方便地进行元素的添加和删除。在使用过程中,vector中有时需要删除某些元素,本文将详细介绍vector删除的方法。
多级标题:
1. vector删除前的注意点
2. vector删除一个元素
3. vector删除多个元素
4. vector清空
内容详细说明:
1. vector删除前的注意点
在对vector进行删除操作前,需要注意以下几点:
- 如果vector中保存的是指针类型,那么删除时需要首先释放指针指向的内存;
- vector在删除元素后,其它元素的下标会发生改变,因此在删除元素时需要注意后续元素的下标是否需要重新计算;
- vector在删除元素后,其空间并不会发生变化,因此需要特别注意内存占用情况。
2. vector删除一个元素
vector删除一个元素的方法很简单,只需要使用erase()函数即可,如下所示:
```
vector
v.erase(v.begin() + 2); // 删除v中下标为2的元素
```
在上述代码中,erase()函数的参数表示需要删除元素的迭代器位置,可以通过vector的begin()和end()函数来获取迭代器。
3. vector删除多个元素
如果需要删除vector中的多个元素,则可以自己实现一个循环,依次删除多个元素,如下所示:
```
vector
for (auto it = v.begin(); it != v.end();)
if (*it % 2 == 0)
{
it = v.erase(it); // 删除当前元素
}
else
{
++it; // 移动迭代器
}
```
在上述代码中,变量it表示vector的迭代器,循环中判断当前元素是否需要删除,如果需要则使用erase()函数删除当前元素,否则移动迭代器。
4. vector清空
如果要清空vector中所有的元素,则可以使用clear()函数,如下所示:
```
vector
v.clear(); // 清空v中的所有元素
```
在上述代码中,clear()函数不需要传入任何参数,可以清空vector中所有的元素。