21xrx.com
2024-11-05 14:49:36 Tuesday
登录
文章检索 我的文章 写文章
C++中vector容器的erase函数使用方法
2023-07-07 15:15:56 深夜i     --     --
C++ vector容器 erase函数 使用方法

vector是C++中常用的容器类之一,它经常被用来存储一系列的数据。vector容器的erase函数是用来删除容器中元素的方法。本篇文章将介绍erase函数的使用方法。

vector容器的erase函数有两个重载版本。

第一个版本的erase函数接受一个迭代器参数,用于指定要删除的元素位置,例如:


std::vector<int> v 3;

auto it = v.begin() + 2;

v.erase(it);

// 此时v包含的元素为 2

这个例子中使用了迭代器it指向索引2处的元素,然后调用erase函数删除它。注意,这里的迭代器是通过begin函数和加法操作得到的,所以它指向的是要删除的元素的位置。

第二个版本的erase函数接受两个迭代器参数,用于指定要删除的元素范围,例如:


std::vector<int> v 5;

auto it_start = v.begin() + 1;

auto it_end = v.begin() + 4;

v.erase(it_start, it_end);

// 此时v包含的元素为1

这个例子中使用了迭代器it_start和it_end指定了删除的元素范围,它们分别指向索引1和索引4处的元素。注意,这里的范围是左闭右开的,即删除的元素不包括it_end指向的元素。

在使用erase函数时,需要注意以下几点:

1. erase函数调用完毕后,被删除元素原来的迭代器将会失效,所以应该谨慎地使用它们。

2. 在使用迭代器删除元素时,应该先将迭代器移动到下一个元素的位置,然后再删除当前元素,这样才能保证迭代器的有效性。

3. 在使用erase函数删除元素时,需要将它的返回值保存下来,这个返回值是一个指向被删除元素下一个元素的迭代器,它可以用于下一次删除操作。

4. 如果需要在删除元素后,重新调整容器的大小,则可以使用resize函数。

总之,erase函数是C++中vector容器中非常实用的一个函数,它可以帮助我们快速方便地删除容器中的元素。在使用它时,需要谨慎处理迭代器和注意返回值,才能确保程序的正确性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复