您的位置:首页 > 其它

vector的erase函数

2014-01-18 17:07 288 查看
vector的erase函数,记住该函数会使迭代器失效,返回下一个迭代器。

#include "stdafx.h"

#include<iostream>

#include<string>

#include<vector>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

vector<int> iVec;

vector<int>::iterator it;

int i;

for( i=0;i<10;i++)

iVec.push_back(i);

for( i=0;i<iVec.size();i++)

cout<<iVec[i]<<ends;

cout<<endl;

for(it=iVec.begin();it!=iVec.end();++it)

{

int h=*it;

if(h ==4 || h == 5)

{

it=iVec.erase(it);//此时it指向5

it--; //这里--是有用意的,否则删不了5的

}

}

for( i=0;i<iVec.size();i++)

cout<<iVec[i]<<ends;

cout<<endl;

system("pause");

return 0;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: