Boost multiarray: как объявить член класса и заполнить его во время выполненияC++

Программы на C++. Форум разработчиков
Anonymous
Boost multiarray: как объявить член класса и заполнить его во время выполнения

Сообщение Anonymous »

Я пытаюсь отойти от типов std::vector и использовать вместо них boost::multi_array. Однако я не могу инициализировать такие элементы данных.
Раньше у меня был такой класс:

Код: Выделить всё

class problemdata{
std::vector data;
};
Затем, во время выполнения, на основе значений пользовательских входных данных ui1 и ui2, я бы сделал следующее, чтобы создать хранилище для данных.

Код: Выделить всё

std::vector temp(ui2);
for(int i = 0; i < ui1; i++)
data.push_back(temp);
Как я могу сделать что-то подобное с помощью boost::multi_array ? Кажется, что все примеры в официальной документации имеют константы времени компиляции, определяющие размеры. https://www.boost.org/doc/libs/1_69_0/l ... /user.html
Мне, однако, нужно сначала объявить пустой контейнер, прочитать пользовательские данные и только потом соответствующим образом заполнить контейнер.

Подробнее здесь: https://stackoverflow.com/questions/798 ... t-run-time

Вернуться в «C++»