«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Может ли std::array быть инициализирован по умолчанию?

Может ли std::array быть инициализирован по умолчанию?

Опубликовано 21 декабря 2024 г.
Просматривать:431

Can std::array be Default-Initialized?

Может ли std::array быть инициализирован по умолчанию?

Объявив переменную как std::array x; , вы можете гарантировать, что все его элементы будут инициализированы по умолчанию. Согласно стандарту языка C 11 (§8.5/11), любой объект без явного инициализатора инициализируется по умолчанию.

Однако вы должны знать, что инициализация по умолчанию не влияет на неклассовые, неклассовые объекты. типы массивов (§8.5/6), оставляя их значения неопределенными. Например, массив таких типов, инициализированный по умолчанию, будет иметь неопределенные значения.

Инициализация массивов по значению

Если вы хотите инициализировать все элементы массива определенным значение T{}, это не инициализация по умолчанию, а инициализация значения (8.5/7). В C 11 массивы можно легко инициализировать значениями, используя пустые инициализаторы:

int plain_int{};
int c_style_array[13]{};
std::array cxx_style_array{};

Это приведет к инициализации значений всех элементов массива, что приведет к согласованному значению 0 для целых чисел и значениям по умолчанию для соответствующих типов данных.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3