- vec::iterator iter = va.begin();
- int i = 0;
- while(iter != va.end()){
- printf("va[%d] = %d \n ",i,*iter);
- iter ++;
- i++;
- }
#include <vector>
#include <iostream>
using namespace std;
typedef vector<int> INTVEC;
//第一种方法的输出
/*void ShowVec(const INTVEC &v){
unsigned int i=0;
for (i=0;i<v.size();i++)
{
cout<<v[i]<<endl;
}
}*/
//第二种方法的输出
/*void ShowVec(INTVEC &v){
INTVEC::iterator it;
for (it=v.begin();it<v.end();++it) //为了可移植性的作用 写成:it!=v.end()
{
cout<<*it<<endl;
}
}
*/
//第三种方法的输出
void ShowVec(const INTVEC &v){
INTVEC::const_iterator it;
for (it=v.begin();it<v.end();++it) //为了可移植性的作用 写成:it!=v.end()
{
cout<<*it<<endl;
}
}
int main(){
INTVEC v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
ShowVec(v);
return 0;
}
注意:
list<int> li;
--li.end();
li.end()-1;//error
链表不支持随机访问,配合迭代器使用时不支持+=,-,+,-=的操作,但支持--,++操作,因为他们是双向列表
vector<int> vc;
vc.end()-1;
向量内部支持随机访问,配合迭代器使用时支持+=,-,+,-=的操作和支持--,++操作。