Я видел в нескольких местах рекомендацию использовать std::array
вместо массивов в стиле C в C++, утверждая, что это лучшая, более безопасная альтернатива без накладных расходов. Видеть:
Стандартный массив контейнеров [...] не требует дополнительного пространства сверх того, что ему нужно для хранения своих элементов, [...]. Другими словами, это очень похоже на встроенный массив без проблем. (Часто задаваемые вопросы по C++11)
Однако, насколько я понимаю, будучи контейнером шаблонов, будет накладными расходами по размеру программы, поскольку он будет генерировать код для каждого другого N, с которым экземпляр массива.
Предположим, моя программа использует std::array
в разных местах с несколькими разными целыми числами для N, не приведет ли это к раздуванию кода? Это незначительно?
Должен ли я беспокоиться об этом для нетиповых параметров шаблона в целом?
std::array
не так много кода, который должен быть встроен. Я не понимаю, как это может сильно увеличить размер исполняемого файла. - person Bryan Chen   schedule 29.07.2014std::array
? - person M.M   schedule 29.07.2014