Инициализация массива Boost в C ++ - PullRequest
1 голос
/ 18 января 2011

Мне нужно объявить boost :: array. Я сделал это как boost::array<char, 116> buf; Есть ли вероятность, что я могу объявить с размером, хранящимся как константа, которая инициализируется из файла свойств. что-то вроде boost::array<char, BUFFER_SIZE> buf;

Любая помощь?

Ответы [ 2 ]

5 голосов
/ 18 января 2011

Нет. Если вам нужен динамически изменяемый массив, используйте std::vector

Причина для Нет в том, что параметр шаблона не может быть предоставлен во время выполнения (предупреждение: текущий стандарт)

3 голосов
/ 18 января 2011

Если это константа, доступная во время компиляции (то есть, вы #include d или ваш файл свойств), тогда да.

int const BUFFER_SIZE = 116;
boost::array<char, BUFFER_SIZE> buf;

действителен. Если он недоступен во время компиляции, тогда нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...