c++中vector erase函数的作用是什么

avatar
作者
猴君
阅读量:0

C++中的vector erase函数用于从向量中删除一个或多个元素。它的作用是将指定位置的元素或指定范围内的元素从向量中移除,并更新向量的大小。

erase函数有两种使用方式:

  1. 删除单个元素:传递一个迭代器参数,指向要删除的元素的位置,函数删除该元素,并返回指向删除元素后的下一个元素的迭代器。
  2. 删除多个元素:传递两个迭代器参数,指定要删除的元素范围,函数删除该范围内的所有元素,并返回指向删除元素后的下一个元素的迭代器。

例如,以下代码演示了erase函数的使用:

#include <iostream> #include <vector>  int main() {     std::vector<int> numbers = {1, 2, 3, 4, 5};      // 删除单个元素     numbers.erase(numbers.begin() + 2); // 删除索引为2的元素      // 删除多个元素     numbers.erase(numbers.begin(), numbers.begin() + 2); // 删除前两个元素      // 输出向量中的元素     for (int num : numbers) {         std::cout << num << " ";     }     std::cout << std::endl;      return 0; } 

输出结果为:

4 5 

在上面的示例中,向量开始时包含元素1, 2, 3, 4, 5。首先,erase函数用于删除索引为2的元素,即数字3。然后,erase函数再次用于删除索引为0和1的元素,即数字1和2。最后,向量中只剩下数字4和5,并且这些元素被输出。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!