std :: vector хорош только как новый. Он просто обрабатывает выделение памяти для вас
Несколько вещей, которые вы можете сделать - при условии, что вы не хотите писать совершенно новый новый обработчик.
Предварительно выделите векторы или измените размер (), если вы знаете, каким будет конечный размер, это останавливает расточительные копии памяти по мере их роста.
Если вы собираетесь снова использовать вектор с тем же размером, лучше сохранить его и заполнить, чем удалить и воссоздать его.
Как правило, для встроенных целей, если вы знаете требования к памяти, лучше статически распределить всю память в самом начале и разделить ее самостоятельно - это не так, как то нужно другому пользователю.