天天看点

TR1 五种新的容器 之 array

array是加强版的数组,和普通数组的区别在它能够保存自身的长度,与vector的区别在于它不能改变自身的长度。

构造一个array和构造一个普通数组时一样的。

array<Type, N>

array<int, 10> values;

array<int, 10> values = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

成员函数size()返回N的值。像vector一样,可以通过[idx] 或者at(idx)获得一个元素的引用,[]不进行边界检查,而at()会做边界检查,如果越界就会抛出异常。

array里存放的数据是连续的,所以提供一个data()函数,返回数据的初始地址。

assign()给array中所有的元素赋予同样的值。

swap()将两个长度相同的array中的元素互换。