vector是同一種類型的對象的集合,每個對象都有一個對應的整數索引值。和string對象一樣,標準庫將負責管理與存儲元素相關的內存。我們把vector稱之為容器。使用vector類型必須包含 include<vector>。
vector 是一個類模板(class template)。
vector的定義和初始化: vector<string> text; //保存類型為string的對象,默認構造函數text為空
vector<string> text2(10); //保存類型為string的對象,包含10個空字符串
vector<int> ive(10,9); //保存int的對象,保存10個值為9的整形變量
vector<int> ive2(ive); //使用ive初始化ive2
向vector添加元素:
while(cin>>word)
{
text.
push_back(word); //使用push_back可以向vector的后面插入新的元素。
}
注意:*vector對象(以及其他標準庫容器對象)的重要屬性就在于可以在運行時高效的添加元素,因為vector增長效率高,在元素值已知的情況下,最好是動態的添加元素。
*雖然可以對給定元素個數的vector對象預先分配內存,但更有效的方法是初始化一個空vector對象,然后再動態的增加元素。
vector的下標操作:for(vector<string>::size_type ix=0;ix!=text.
size();++ix)
{
cout<<text
[ix]<<endl;
}
*使用vector<string>::size_type類型可以接收vector<string>類型的大小。
*不在for循環之前取得vector的大小,而在for循環中計算text.size(),是因為vector是可以增長的,所以它的元素數目是不確定的。
*和string對象一樣,vector可以通過下標直接訪問元素。
附表:vector操作
v.empty() |
如果v為空,則返回true |
v.size() |
返回v中元素的個數 |
v.push_back(t) |
需按不過v的末尾增加一個值為t的元素 |
v[n] |
返回v中位置為n的元素 |
v1=v2 |
吧v1的值與替換為v2中元素的副本 |
v1==v2 |
如果v1與v2相等,則返回true |
!=,<,<=,>,>= |
保持這些操作符慣有的含義 |