Вы можете не верить этому, но vector
(а еще лучше deque
) - самые быстрые контейнеры, которые STL может предложить для большинства задач.
Вы можете беспокоиться о копировании вашего объекта, но если он не очень большой или конструктор копирования не слишком сложен, копирование объекта, который выделяет его в куче, обходится дешевле.
Выделение кучи и ошибки в кэше результатов - это гораздо больше штрафа, чем простая копия.
Но давайте не будем резвиться в режиме бездействия: сравните ваш контейнер с vector
и посмотрите, что идет сверху и по какому порядку величины, держу пари, вы удивитесь.
И если на самом деле ваш класс огромен или запрещен для копирования, всегда есть boost::ptr_vector
, хотя, если вы не используете пул, вы явно выбрасываете локальность кэша у окна;)