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