模板类vector和array是数组的替代品。
1、模板类vector
模板类vector类似于string类,是动态数组,可在运行阶段设置其长度,也可在其末尾附加新数据或在中间插入新数据,本质使用new和delete管理内存因此为自由存储区。
需要头文件#include <vector>,命名空间为std,使用using namespace std;或std::vector;使用格式为:
int num;
vector<double> vt(num);//即创建了长度为num(可常量可变量,也可省略表示初始长度为0)的数组,类型为double。
2、模板类array
头文件#include <array>
命名空间:std
长度固定,使用栈,为静态内存分配。
创建方法:array<type,num> ay;//声明,num必须是常量
3、比较
数组、vector、array创建完后,访问方式都一样。
但可以将一个array直接赋值给另一个array对象,数组则不可以。
需要注意,三种方法均不对索引越界进行报错,防止越界可使用at()成员函数进行访问,如ay.at(3),若对ay而言,索引3越界,则程序默认中断。另外,可以使用begin()和end()函数确定边界。