假设保存了 0 - 9 int类型的vector,现在要删除符合条件的元素,比如说1和6,代码如下:
vector<int> vi;
for (size_t i = 0; i < 10; i++)
{
vi.push_back(i);
}
auto it = vi.begin();
while (it != vi.end())
{
if ((*it) == 1 || (*it) == 6) //删除条件
{
it = vi.erase(it); //erase返回被删除的下一个it
}
else it++;
}
it = vi.begin();
while (it != vi.end())
{
cout << (*it) << " ";
it++;
}
输出结果
0 2 3 4 5 7 8 9