vector的一些补充
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
// insert code here...
vector<int> myvector;
for(int i=0;i<10;i++){
myvector.push_back(i);
}
vector<int>::iterator it;
cout<<"初始情况的向量"<<endl;
for(it=myvector.begin();it!=myvector.end();it++){
cout<<*it;
}
cout<<endl;
cout<<"删除最前面的两个元素"<<endl;
myvector.erase(myvector.begin());
myvector.erase(myvector.begin());
cout<<"现在begin迭代器已经移到了最新的开始位置了"<<endl;
for(it=myvector.begin();it!=myvector.end();it++){
cout<<*it;
}
cout<<endl;
//end迭代器是最后一个元素后面的那个地址
cout<<*(myvector.end()-1)<<endl;
myvector.pop_back();
// myvector.pop_back();
cout<<*(myvector.end()-1)<<endl;
return 0;
}
/*
一些笔记:
首先是关于erase函数:在使用这个函数后迭代器会指向删除该元素后一个位置的元素(包括begin迭代器删除后,新的begin迭代器就是原本的第二个迭代器
其次是end迭代器指的是最后一个元素后一个位置的指针,要访问最后一个元素,必须用*(end-1)
除此之外,back() 函数返回当前vector最末一个元素的引用。
*/