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