Я ищу наиболее эффективный способ скопировать содержимое списка векторов в вектор. Я хочу, насколько это возможно, избежать перераспределения памяти.
Моя проблема заключается в следующем: у меня есть:
a
std::vector<int> v
, содержащий N элементовсписок векторов
std::vector< std::vector<int>* > vlist
и я знаю, что общее количество элементов M в векторах vlist равно ‹= N (N и M могут быть очень большими)
Я хочу скопировать все элементы vlist в v (сначала все элементы vlist[0], затем все элементы vlist[1] и т.д...) и в конце уменьшить размер v до M (мой проект не не использовать С++ 2011).
Как сделать это максимально эффективно?
Большое Вам спасибо.
РЕДАКТИРОВАТЬ: примечание: v уже заполнен N элементами, и я хочу заменить их элементами M (‹= N), поступающими из других векторов.
int
, вы собираетесь поместить их в стек, чтобы это было быстрее, чем выделение в куче. - person Kiril   schedule 16.05.2012