模板类 vector 和 array是数组的替代品。
1.vector
使用时需要引用#include <vector>,vector 包含在std空间中。
#include <vector>
using namespace std;
vector<int> vi;
int n;
cin >> n ;
vector<double> vd[n];//根据输入大小动态创建数组大小。
2.array
vector类的功能比数组强大,但是效率比较低。如果数组长度固定,使用数组是最佳选择,但是数组不方便、安全。
C++11新增模板array,使用栈静态分配内存,不是自由存储区,其效率与数组相同,但更方便、安全。
#include <array>
array<int,5> ai;
array<double,4> ad ={1.0,2.0,3.2,.4.0.5.0};
vector和array访问数组时也是直接下标访问;但是二者还可以使用at()成员函数进行访问;
at()方法和[]区别:at()在运行期间捕获非法索引,遇到错误程序默认中断。
成员函数begin()和end()能够确定边界,以免无意间超边界。