26 Containers library [containers]

26.3 Sequence containers [sequences]

26.3.7 Class template array [array]

26.3.7.2 array constructors, copy, and assignment [array.cons]

Условия для aggregate . Класс array опирается на неявно объявленные специальные функции - члены ([class.ctor], [class.dtor]и [class.copy]) , чтобы соответствовать требованиям таблицы контейнера в [container.requirements]. В дополнение к требованиям, указанным в таблице требований к контейнеру, неявный конструктор перемещения и оператор присваивания перемещения для array require that T be MoveConstructible или MoveAssignable, соответственно.

template<class T, class... U> array(T, U...) -> array<T, 1 + sizeof...(U)>;

Requires: (is_­same_­v<T, U> && ...) есть true. В противном случае программа будет некорректной.