hi Я должен создать динамический двумерный вектор. Будучи двумерным, я думаю, что лучше не использовать boost.MultiArray для эффективных календаря (накладные расходы для вектора ручки с более чем 2-мя измерениями). Моя структура данных должна изменять размер строки во время выполнения, а размер столбцов фиксирован, т. Е. Равен двум.Лучшее решение для изменяемого размера и динамического двумерного массива
Я думал, что-то вроде этого:
vector<vector<unsigned int> > grid;//declaration
vector<unsigned int> row(2);
grid.push_back(row);//copy vector row and insert in grid
Мои вопросы: это хороший способ сделать свое намерение? Я думаю, что это неэффективно, дорого. Что происходит, когда я вызываю push_back? Или есть лучший способ, который я игнорирую? И еще, есть ли возможность указать в декларации, что внутренний вектор имеет размер два? (компилятор C++ 11)
Я думаю, что это зависит от вашего ввода. Фактически вы можете рассматривать его как двумерный массив регулятора. Итак, сетка [0] .push_back (1); может работать тоже. – AchmadJP
Если размер исправлен, используйте 'std :: array'. –
#AchmadJP, но когда размер преодолевает мощность, что происходит? Я думаю, что-то дорого. Могу ли я избежать или ограничить это? – Umbert