#include <iostream> #include <vector> //因为要使用vector类模板 #include <list> //因为要使用list类模板 using namespace std; int main() { //容器类名 容器名 vector<int> vec; //先实例化模板类,再定义一个对象(即变量,也即容器名) vec.push_back(1); vec.push_back(2); vec.push_back(3); vec.push_back(4); //容器类名 迭代器(类似于指针) vector<int>::iterator i; for(i=vec.begin();i!=vec.end();i++) //范围为[,) { cout<<*i<<","; } cout<<endl; vector<int>::const_reverse_iterator j; //const类型的指针 不能 通过指针改变变量值 for(j=vec.rbegin();j!=vec.rend();j++) { cout<<*j<<","; } cout<<endl; for(i=vec.begin();i!=vec.end();i++) //范围为[,) { *i=100; } for(i=vec.begin();i!=vec.end();i++) //范围为[,) { cout<<*i<<","; } cout<<endl<<"*******************************************"<<endl; vector<int> v(100); //有点类似new int[100] cout<<v[0]<<endl; cout<<v[1]<<endl; cout<<v.size()<<endl; for(int i=0;i<v.size();i++) cout<<v[i]; cout<<endl<<"********************************************"<<endl; list<int> lis(10); list<int>::iterator ii; for(ii=lis.begin();ii!=lis.end();ii++) cout<<*ii<<","; /* 以下代码不行会报错,因为双向迭代器不支持 < [] for(ii=lis.begin();ii<lis.end();ii++) cout<<*ii; cout<<lis[0]<<endl; */ return 0; }
08-16