与内置数组相似,标准库array在定义时除了元素类型也要指定大小
array<int, 1>
//保存1个int类型数组
array<string, 2>
//保存2个string类型数组
//由于还具有大小这个属性,array不支持普通容器构造
不支持普通容器构造,默认非空(所有值都被初始化)
如果array中的元素类型是一个类,那么这种元素类型必须要有默认构造函数
用来初始化
array<int, 10> ial;
//上面默认初始化了10个int
array<int, 10> ia2 = {0,1,2,3,4,5,6,7,8,9};
//上面使用列表初始化了10个int
array<int, 10> ia3 = {42};
//上面只用列表初始化了第一个,也就是ia3[0]为42,其余都是0
一些内置的数组类型,不可以进行拷贝或者对象赋值操作
//比如说int类型的数组
int a[3] = {0,1,2};
//上面声明定义(等号左边叫声明,右边赋值叫定义)
//了一个名为a的int类型数组,中括号里面是3,因此该数组里面最多放3个值
int acopy[3] = a[3];
//上面希望声明了一个名为acopy的数组,希望把a[3]数组赋值给acopy[3],但是数组是int类型的数组。按照规定,这是不被允许的。
//可我们的array却允许这种操作,这样我们就不用来回申请空间,一个一个把数组元素放进新空间这么麻烦了
array同样要求初始值与容器的类型相同,大小的类型也是如此
所以可别干,把大小设置为double类型,容器类型设置为int类型
的事,别干如下的混事:array<int,10.1>