在这里对模板类做非常非常简单的总结,以便于自己需要时有货可查1.
- 模板类vector
① 是一种动态数组,可在运行阶段设置vector对象的长度,也可以在末尾添加数据,在中间插入数据
② 使用new和delete来管理内存,但是是自动执行这两个操作的。
③ 必须#include<vector>
和包含在名称空间std中
④ 简单使用:vector<typeName> vb(n_elem);
上述声明创建一个名为vb的vector对象,它可储存n_elem个类型为typeName的元素。另,n_elem可以是常量或变量。 - 模板类array
① 长度固定的静态数组,使用栈(静态内存分配),其效率与数组相同,但更方便和安全。
② 与数组不同的是,可以将一个array对象赋予给另一个array对象,数组就要逐元素复制数据
③ 必须#include<array>
和包含在名称空间std中
④ 简单使用:array<typeName, n_elem> arr;
与创建vector对象不同的是,n_elem不能是变量。
需要注意的是,vector和array对象并不会捕获非法索引,而编译器也不会检查这种超界错误。
如arr[-2]=20;
信