1、通常调用vector的成员函数eraser(vector::iterator pt),来删除由pt指向的vector元素。2、在顺序访问中,删除操作会对当前的遍历元素指针产生影响,而eraser成员函数返回被删除元素的下一个指针。3、一般采用以下形式:
vector<int> array;
for(int i=0;i<100;++i)
{
array.push_back(i);
}//构建一个vector,名为array,保存整型数据0-99;
vector<int>::iterator itr = array.begin();
while (itr != array.end())
{
if (((*itr)%5) == 0) //判断被5整除的数
{
itr=array.erase(itr);//删除被5整除的元素,并修改遍历指针itr,使之指向下一元素
continue;
}
++itr;
}
vector<int> array;
for(int i=0;i<100;++i)
{
array.push_back(i);
}//构建一个vector,名为array,保存整型数据0-99;
vector<int>::iterator itr = array.begin();
while (itr != array.end())
{
if (((*itr)%5) == 0) //判断被5整除的数
{
itr=array.erase(itr);//删除被5整除的元素,并修改遍历指针itr,使之指向下一元素
continue;
}
++itr;
}