Мне нужно объявить boost :: array. Я сделал это как boost::array<char, 116> buf; Есть ли вероятность, что я могу объявить с размером, хранящимся как константа, которая инициализируется из файла свойств. что-то вроде boost::array<char, BUFFER_SIZE> buf;
boost::array<char, 116> buf;
boost::array<char, BUFFER_SIZE> buf;
Любая помощь?
Нет. Если вам нужен динамически изменяемый массив, используйте std::vector
std::vector
Причина для Нет в том, что параметр шаблона не может быть предоставлен во время выполнения (предупреждение: текущий стандарт)
Если это константа, доступная во время компиляции (то есть, вы #include d или ваш файл свойств), тогда да.
#include
int const BUFFER_SIZE = 116; boost::array<char, BUFFER_SIZE> buf;
действителен. Если он недоступен во время компиляции, тогда нет.