二者都包含在名称空间std中。
1.声明方法:
vector:
#include<vector>
using namespace std;
vector<int> vi; //create a zero-array of int
vector<double> vd(n); //create an array of n doubles
由于vector对象在插入或添加值时自动调整长度,因此声明时长度可以为0.vector类功能比数组强大,但是效率较低。
一般化的声明:
vector<typename> vt(n_elem);
array:
#include<array> using namespace std; array<int,5> ai;//create array object of 5 ints array<double,4> ad={1.2,2.1,3.2,1.3};//create array object of 4 doubles
与数组一样,array长度是固定的,使用栈(静态内存分配),而不是自由存储区,因此其效率和数组一样