C++标准库类型vector表示对象集合,内部所有对象的类型一致,通过索引访问对象,vector也被称做容器。
模板本身不是类扩展函数,可以将模板看作为编译器生成类或函数编写的一份说明,编译器根据模板生成类或者函数的过程称为实例化。 当使用模板时,需要指定编译器需要把类或函数实例化成何种类型。
C++中既有类模板,也有函数模板,而vector就是类模板。
vector是模板而不是类,由vector生成的类型必需包含vector中元素的类型。vector能容纳大多数类型的对象作为其元素,但是不存在 包含引用的vector。
- vector的各种初始化形式
- vector的常用操作
- 不能通过下标添加元素,vector(和string)对象的下标可用于访问已存在的元素,而不能用于添加元素
- 关于下标必需明确,只能对确知已存在的元素执行下标操作,如果下标越界,可能会得到一个未知的值,所谓缓冲区溢出就是这类错误。
C++标准要求,vector能在运行时高效的增长,因此在定义vector对象时设定其大小就没有必要了,事实上这么做,可能性能更差,**只有一种情况例外,就是所有元素的值都一样。**否则有更有效的方法是先定义一个空的vector,然后在运行时添加元素。