Информация об изменениях

Сообщение Re[3]: А что за шляпа с std::array? от 08.12.2022 10:49

Изменено 08.12.2022 10:50 rg45

Re[3]: А что за шляпа с std::array?
Здравствуйте, Marty, Вы писали:

M>У сишного можно не задавать явно размер, и тогда он будет ровно того размера, сколько элементов задано в списке инициализации


Так а что от этого меняется? Да, в С-шном массивве можно зе задавать размер, а в std::array нельзя, но поведение std::array в точности соответствует встроенному массиву с явно заданным размером. Потому что std::array сам по себе является простой структурой, содержащей массив и подчинаяется правилам агрегатной инициализации, так же, как и все агрегатные типы — массивы и простые структуры.
Re[3]: А что за шляпа с std::array?
Здравствуйте, Marty, Вы писали:

M>У сишного можно не задавать явно размер, и тогда он будет ровно того размера, сколько элементов задано в списке инициализации


Так а что от этого меняется? Да, в С-шном массивве можно не задавать размер, а в std::array нельзя, но поведение std::array в точности соответствует встроенному массиву с явно заданным размером. Потому что std::array сам по себе является простой структурой, содержащей массив и подчинаяется правилам агрегатной инициализации, так же, как и все агрегатные типы — массивы и простые структуры.