#include <iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> array;
array.push_back(100);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(500);
vector<int>::iterator iter;
for (iter = array.begin(); iter != array.end(); iter++)
{
if (*iter == 300)
iter = array.erase(iter); /***删除当前元素,返回值是是指向下一个元素的指针***/
}
for (iter = array.begin(); iter != array.end(); iter++)
cout << *iter << " ";
return 0;
#include<vector>
using namespace std;
int main()
{
vector<int> array;
array.push_back(100);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(500);
vector<int>::iterator iter;
for (iter = array.begin(); iter != array.end(); iter++)
{
if (*iter == 300)
iter = array.erase(iter); /***删除当前元素,返回值是是指向下一个元素的指针***/
}
for (iter = array.begin(); iter != array.end(); iter++)
cout << *iter << " ";
return 0;
}
输出结果是:100, 300, 300, 500.
解析看注释。