c++vector删除(c++vector clear)

[img]

简介:

C++中的vector是一种动态数组,可以方便地进行元素的添加和删除。在使用过程中,vector中有时需要删除某些元素,本文将详细介绍vector删除的方法。

多级标题:

1. vector删除前的注意点

2. vector删除一个元素

3. vector删除多个元素

4. vector清空

内容详细说明:

1. vector删除前的注意点

在对vector进行删除操作前,需要注意以下几点:

- 如果vector中保存的是指针类型,那么删除时需要首先释放指针指向的内存;

- vector在删除元素后,其它元素的下标会发生改变,因此在删除元素时需要注意后续元素的下标是否需要重新计算;

- vector在删除元素后,其空间并不会发生变化,因此需要特别注意内存占用情况。

2. vector删除一个元素

vector删除一个元素的方法很简单,只需要使用erase()函数即可,如下所示:

```

vector v{ 1, 2, 3, 4, 5 };

v.erase(v.begin() + 2); // 删除v中下标为2的元素

```

在上述代码中,erase()函数的参数表示需要删除元素的迭代器位置,可以通过vector的begin()和end()函数来获取迭代器。

3. vector删除多个元素

如果需要删除vector中的多个元素,则可以自己实现一个循环,依次删除多个元素,如下所示:

```

vector v{ 1, 2, 3, 4, 5 };

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{ 1, 2, 3, 4, 5 };

v.clear(); // 清空v中的所有元素

```

在上述代码中,clear()函数不需要传入任何参数,可以清空vector中所有的元素。

标签列表