//頭文件#include<vector>using std::vector;vector<T> v1;vector<T> v2(v1);vector<T> v3(n,i);vector<T> v4(n);//創建確定個數的vector對象vector<int> ivec4(10,-1);vector<string> ivec4(10,"hi!");//值初始化//如果沒有指定元素初始化,那么標准庫將個自行提供一個元素初始值進行值初始化,如:vector保存內置類型(int)的元素,那么標准庫將用0值創建元素舒適化式;//如果保存的是有構造函數類型的元素,標准庫將用改類型的默認構造函數創建元素初始化式;//vector對象操作v.empty()//如果v為空則返回true,否則返回false。v.size()//返回v中元素的個數v.push_back(t)//在v的末尾增加一個值為t的元素v[n]//返回v中位置為n的數v1=v2 // 把v1的元素替換為v2中元素的副本;vi==v2 // 如果v1與v2相等則返回true!=<<=>>=保持這些操作符慣有的含義//vector對象的size//使用size_type 時必須指出該類型是在哪里定義的vector<int>::size_type//向vector中添加元素push_back()//將一個新元素添加到vector對象的后面//vector的下標操作for(vector<int>::szie_type ix=0; ix!=ivec.size(); ix++){ivec[ix]=0;}//下標操作不能添加元素只能通過 push_back();下標操作僅能對已存在的元素進行下標操作//vector迭代器//標准庫為每種標准容器定義了一種迭代器類型,所有的標准庫迭代器都定義了相應的迭代器類型,而只有少數的容器支持下標操作//容器的iterator類型vector<int>::iterator iter;//數據類型:由vector<int>定義的iterator類型。//begin 和end操作//每種容器都定義了一對命名為begin和end的函數,用於返回迭代器vector<int>::iterator iter= ivec.begin();//把iter初始化為由名為begin的vector操作返回值的值。及iter指該元素為ivec[0].//vectror的自增和解引用運算//迭代器類型使用解引用操作符(*操作符)來訪問迭代器所指元素:*iter=0;++iter //指向第二個元素//由於end操作返回的迭代器不指向任何一個元素,因此不能進行自增和解引用操作//其他操作==!=//應用程序示例for(vector<int>::iterator iter=ivec.gebin(); iter!=ivec.end();++iter){*iter =0;}//const_iterator//const_iterator自身的值可以改變,但不能改變其所指向的元素的值,可以對迭代器進行自增及解引用操作來讀取值,但不能對該元素進行賦值//const_iterator和const的iterator對象不一樣//聲明一個const迭代器必須初始化,一旦初始化后就不能改變其值vector<int> nums(10);cosnt vector<int>::iterator cit= nums.begin();*cit=1;//初始化++cit;錯不能改變cit的值//迭代器的算術操作iter +niter - n
