标准库类型,vector表示对象的集合,其中所有对象的类型都相同。关于vector可以对比着数组来理解。在有些方面它和数组很像。
需要指出的是vector是一个类模板。模板本身不是类或者函数,既然称之为模板,那可以理解其实一个参照的标准。
当使用模板时,需要指出编译器应模板中的对象定义成何种类型。
定义方式如下:
vector<int> num; //num是一个保存int型对象的容器
注意:vector能够容纳绝大多数类型的对象作为其元素,但是因为引用不是对象,所以vector 中不能包含引用。
初始化:
vector<T> v1 v1是一个空vector,元素类型为T类型
vector<T> v2(v1) 将v1中的所有元素赋给v2
vector<T> v2 = v1 等价于上一句
vector<T> v3(n,val) v3有n个重复元素,每个值为val
vector<T> v4(n) v4有 n个元素,每个元素为默认值
vector<T> v5{a, b,c,...}列表初始化
vector<T> v5={a, b,c,...}
注意{}以及()的区别。
使用push_back像vector中添加元素:
push_back是vector的一个成员函数,可以将一个值当成vector的最后一个元素添加进去。
例:
vector<.int> v2;
for(int i = 0 ; i !=100 ; i++)
v2.push_back(i);
注:因为vector在运行时可以高效快速的添加元素。因此对于定义vector的大小有时是不必要的。甚至定义了反而会画蛇添足。
其他的vector操作:
v.empty() 如果v为空,则返回真
v.size() 返回v中元素的个数
v[] 返回v中第n个元素的引用
<,<=,>,>=,!=,==等以字典顺序比较
原文地址:http://blog.csdn.net/autocyz/article/details/42810061