vector<T>::iterator本来就是随即存取的啊,可以直接在其对象上加或者减去一定的 偏移量:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int
main()
{
vector<int> ivec;
for(int i = 0; i < 10; ++i)
ivec. push_back(i*2);
for(vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it)
cout<<*it<<endl;
ivec.erase(ivec.begin()+3);
for(vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it)
cout<<*it<<endl;
return 0;
}