array обеспечивает поддержку в частном случае N == 0.
В случае N == 0, begin() == end() == уникальное значение. Возвращаемое значение data() не указано.
Эффект вызова front() или back() для массива нулевого размера не определен.
Функция-член swap() должна иметь спецификацию исключения исключения.