массива?
Смотрю в сппреф, ничего не понимаю…
https://en.cppreference.com/w/c/language/initialization#Empty_initialization
There is no special construct in C corresponding to value initialization [это ссылка] in C++; however, = {0} (or (T){0} in compound literals) (since C99) can be used instead, as the C standard does not allow empty structs, empty unions, or arrays of zero length.
Отправляет дальше (случай для С++23 не смотрим)
https://en.cppreference.com/w/cpp/language/value_initialization
The effects of value-initialization are:
…
4) otherwise, the object is zero-initialized.
Это оно? Или я зря себя утешаю?
нулями
Привет! Объясни пожалуйста, почему?
Будет инициализирован значением по умолчанию в конструкторе. То есть 0
Можно рассматривать это как агрегатную инициализацию, так как std::array является агрегатом. В случае, если при агрегатной инициализации для каких-то полей не задан инициализатор, поле будет считаться инициализированным через {}. Для int'ов это ноль. Ссылок с телефона не дам
Спасибо! Я конечно про агрегатную инициализацию ссылки найду.
Обсуждают сегодня