Инициализация array, где T - нескалярный тип, а N - количество элементов типа T If T нескалярный тип std::array может быть инициализирован следующими способами:
struct A { int values[3]; }; // An aggregate type
std::array a = std::array{ 0, 1, 2, 3, 4, 5 };
В отличие от стандартных фиксированных массивов, в std::array вы не можете пропустить (не указывать) длину массива:
std::array myarray = { 8, 6, 4, 1 }; // нельзя, должна быть указана длина массива
Также можно присваивать значения массиву с помощью списка инициализаторов:
std::array myarray;
myarray = { 0, 1, 2, 3 }; // ок
myarray = { 8, 6 }; // ок, элементам 2 и 3 присвоен нуль!
myarray = { 0, 1, 3, 5, 7, 9 }; // нельзя, слишком много элементов в списке инициализаторов!