Страницы

Поиск по вопросам

среда, 4 декабря 2019 г.

Обычный массив VS std::array

#cpp


Используют ли вообще на практике шаблон std::array? Если да, то почему? И быстрее
ли он работает, чем обычные массивы?
    


Ответы

Ответ 1



Шаблон std::array позволяет использовать родной (сишный) тип массива (T[]) в качестве объекта первого класса. Т.е. такой объект можно передавать в функцию и возвращать из неё, не боясь неявного преобразования массива к указателю и тем самым потери размерности. std::array это агрегатный тип, т.е. не имеющий пользовательских конструкторов и по сути является обычной обёрткой над сишным массивом. На практике это обычно означает, что никакой лишней вычислительной нагрузки в runtime это не несёт, но и быстрее сырого массива он работать не может.

Комментариев нет:

Отправить комментарий