C++11

// <array>
template < class T, size_t N > class array;

数组(Array)是一个固定大小(Fixed-size)的顺序容器(Sequence container)。容器容纳了具体(Specific)数目的元素,这些元素逐个排列在一个严格的线性序列中。

The header <array> defines a class template for storing fixed-size sequences of objects. An array supports random access iterators. An instance of array<T, N> stores N elements of type T, so that size() == N is an invariant. The elements of an array are stored contiguously, meaning that if a is an array<T, N> then it obeys the identity &a[n] == &a[0] + n for all 0 <= n < N.

C++编程语言国际标准:ISO/IEC 14882:2011

容性特性

顺序序列(Sequence)

顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。

连续存储空间(Contiguous storage)

所有元素存储在一个连续的内存位置处,使得可以以常量时间随机访问元素。指向元素的指针可以通过偏移访问其它元素。

固定大小的聚集体(Fixed-size aggregate)

容器使用隐式(Implicit)构造函数(Constructor)及析构函数(Destructor)来静态地分配所需的存储空间。它的大小是一个编译时(Compile-time)确定的常量。除了自身所需外,不会消耗额外的内存或时间。