模板类vector
模板类vector类似于string类,也是一种动态数组。
可以在运行阶段设置vector对象的长度,可以在末尾附加新数据,还可以在中间插入新数据。
要使用vector对象,必须包含头文件vector,vector包含在名称空间std中。
如下示例:
#include <vector>
...
using namespace std;
vector<int> vi; //vi是一个有0个 int 元素的 vector对象
int n ;
cin>> n;
vector<double> vd(n);//vd是有n 个double元素的 vector对象
模板类array
vector 类的功能比数组强大,但代价是效率稍低。
如果需要的是长度固定的数组,使用数组是最佳的选择,但代价是不那么方便和安全。
因此,c++11新增了模板类array,array对象的长度也是固定的,也使用栈(静态内存分配)而不是自由存储区,因此效率与数组相同,但更加安全方便。
实例如下:
#include <array>
...
using namespace std;
array<int,5> ai; //创建有5个int元素的ai 数组
array<double,4> ad={1.1,1.2, 1.3, 1.4};
与创建vector 对象不同的是,如上所示,以上元素数(4,5)必须是常量
== 可以将一个array对象赋值给另外一个array对象==