Создание объектов в цикле для C ++ - PullRequest
0 голосов
/ 03 июня 2019

Мне нужно создать 220 объектов.Нормальное создание похоже на код ниже;Есть ли способ сделать их проще?может быть, для цикла ...

const int ID_box1 = 1; 

box1 = new Boxes(ID_box1, position(10,10); 

box1->Append("option 1");
box1->Append("option 2"); etc..

// каждый блок имеет 80 вариантов:

1 Ответ

1 голос
/ 03 июня 2019

Если вы уверены в количестве создаваемых объектов, тогда вы можете использовать массив следующим образом:

#include <array>

std::array<Box, 220> boxes; // assumes default constructor is available for Box class. 

std :: array дает выигрыш в производительности, его использование аналогично обычному массивуОбъекты плюс он действует как контейнер, поэтому при необходимости можно использовать применимые функции стандартного алгоритма библиотеки.

Если требуется больше гибкости, функциональности, тогда std :: vector - хороший выбор.

...