C++学习笔记(9):vector使用

C++学习笔记(九):vector使用

标准库类型,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)   v3n个重复元素,每个值为val

vector<T>  v4(n)      v4有 n个元素,每个元素为默认值

vector<T>  v5{a, b,c,...}列表初始化

vector<T>  v5={a, b,c,...}

注意{}以及()的区别。

 

 

使用push_backvector中添加元素:

push_backvector的一个成员函数,可以将一个值当成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个元素的引用

<,<=,>,>=,!=,==等以字典顺序比较