инициализация std :: array <T>
A std::array<T>
по сути, массив в стиле C, завернутый вstruct
, Инициализацияstruct
Для s требуются фигурные скобки, а для инициализации массивов - также фигурные скобки. Поэтому мне нужны две пары скобок:
std::array<int, 5> a = {{1, 2, 3, 4, 5}};
Но большая часть кода примера, который я видел, использует только одну пару фигурных скобок:
std::array<int, 5> b = {1, 2, 3, 4, 5};
Почему это разрешено, и есть ли у него какие-либо преимущества или недостатки по сравнению с первым подходом?