c++ vector遍历删除的方法是什么

avatar
作者
猴君
阅读量:0

在 C++ 中,可以使用迭代器(iterator)来遍历 vector 并删除元素。具体的步骤如下:

  1. 创建一个迭代器,并将其初始化为 vector 的开始位置。
  2. 使用循环,通过迭代器遍历整个 vector。
  3. 在循环体内部,判断当前迭代器所指向的元素是否满足需要删除的条件。
  4. 如果满足删除条件,使用迭代器的 erase() 函数来删除当前元素,并将迭代器指向下一个元素。
  5. 如果不满足删除条件,将迭代器指向下一个元素。
  6. 循环结束后,所有满足删除条件的元素都已被删除。

下面是一个示例代码:

#include <iostream> #include <vector>  int main() {     std::vector<int> vec = {1, 2, 3, 4, 5};          for (auto it = vec.begin(); it != vec.end();) {         if (*it % 2 == 0) {             it = vec.erase(it);         } else {             ++it;         }     }          for (int num : vec) {         std::cout << num << " ";     }          return 0; } 

输出结果为:1 3 5

在上述示例中,通过使用迭代器遍历 vector,并使用 erase() 函数删除满足条件的偶数元素。注意,在删除元素后,迭代器会自动指向下一个元素,因此不需要在循环中进行额外的迭代器自增操作。

广告一刻

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