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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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