Работая с устаревшим кодом, я спросил себя, должен ли я заменить массивы C-стиля фиксированного размера на новый std:: array? E. g.
static const int TABLE_SIZE = 64;
double table[TABLE_SIZE];
заменить
std::array<double, TABLE_SIZE> table;
Пока я вижу преимущества использования std::vector для массивов с переменным размером, я не вижу их с фиксированным размером. table.size()
известно в любом случае, std::begin(), std::end()
, поскольку свободные функции могут быть использованы для STL-алгоритмов с массивами в стиле C. Таким образом, помимо того, что я более стандартно согласен, не хватает ли я большего количества преимуществ? Стоит ли работа заменить все случаи или считается лучшей практикой?