У меня есть класс с именем Contact, и я хочу построить структуру данных указателей на эти объекты, например матрицу из 127 строк и 20 столбцов.
Я пытался использовать класс std :: vector таким образом
std::vector < std::vector<Contact* > > matrix (127, std::vector < Contact* > (20));
затем, заявив следующее в шапке
std::vector<std::vector<Contact* > > Buckets;
Я присваиваю матрицу, инициализированную и объявленную ранее ей (этот шаг, потому что в основном я не знаю, как сделать это более понятным и коротким способом):
Buckets = matrix;
, но с использованием функции push_back, такой как
Buckets[pot].push_back(cont_temp);
через некоторое время выдает ошибку ("завершается вызов после создания экземпляра 'std :: bad_alloc'"), и я не знаю, как это исправить.
Есть ли другой лучший способ создания и инициализации матрицы? Вы бы предложили другие решения вместо использования вектора векторов (boost :: multiarray ..?)?
спасибо
(извините за глупый вопрос, я плохой ученик:)
Редактировать : Я нашел ошибку (просто задание за пределами). Если у вас есть общие предложения для такой структуры данных, я все еще здесь ...