复合类型、函数与C++基础——标准库类型vector

1,定义和初始化vector

定义vector时必须指定元素的类型,格式为

vector<元素类型>变量名;

定义的同时可以初始化vector对象,初始化类型如下表:

复合类型、函数与C++基础——标准库类型vector

 

初始化 vector 时可以指定vector对象的大小和初始值。但更多情况下,在创建 vector的时候并不知道确切的元素个数和值。为此, vector类型提供了添加元素的函数 push back和其他一些常用的操作,大多数都和 string的相关操作类似。

vector支持的操作

复合类型、函数与C++基础——标准库类型vector

vector中主要使用的是push-back()和pop-back(),下面重点介绍一下:

push_back()函数向 vector中添加元素时,都是创建参数的一个副本,添加的是这个新值而不是原始值。

注意 如果要用循环向vector对象中添加元素,不能使用范围for,范围for不能改变所遍历的容器的大小。


使用 pop_back()函数可以删除 vector对象末尾的元素。如果 vector象为空,popback()函数的行为未定义,所以要先检测对象是否为空。

注意:不能用下标运算符向vector中添加元素,下标运算符只能访问已经存在的元素

迭代器简介:

迭代器类似于指针类型,提供对对象的间接访问。迭代器在容器或 string对象上使用,所以迭代器指向的对象是容器中的元素或 string中的字符。使用迭代器可以访问容器中的某个元素,也可以在容器上移动。选代器只有在指向某个元素或指向容器最后一个元素的下一个位置时才是有效的
支持迭代器的类型都有返回选代器的成员: begin()和end()。通过这两个操作可以获取容器上的迭代器。 begin()返回指向第一个元素或字符的迭代器,end()则返回指示容器或 string 的最后一个元素的下一个位置的选代器,end()返回值也称尾后迭代器或尾迭代器,如果容器为空, begin()和end()返回同一个迭代器,都是尾迭代器。