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 |
!=,<,<=,>,>= |
保持这些操作符惯有的含义 |