vector迭代删除元素
vector迭代删除元素, vector使用erase删除一个元素后, 数组移动, 原来的迭代器没用了, erase会返回新的iter, 指向当前元素后面的一个元素
#include <iostream> #include <vector> using namespace std; int main() { vector<int> fields = { 1, 3, 4, 5, 2, 7 }; for (auto iter = fields.begin(); iter != fields.end();) { if (*iter > 3) { iter = fields.erase(iter); } else { ++iter; } } system("pause"); return 0; }