Masz rację :) Jednak wektor przy powiększaniu musi sobie rezerwować dodatkową pamięć, kopiować zawartość do nowych obszarów itd. -> tracimy czas na kopiowanie. Nawet jeżeli w Twoim wektorze jest (powiedzmy) 1000 elementów, ten mógł zarezerwować pamięć na 1100 obiektów :) (chce wyprzedzić nasze oczekiwania)
http://en.cppreference.com/w/cpp/container/vector
vector<int> inty;
for(int i=0; i<1000; i++)
inty.push_back(i);
inty.size(); // Tyle obiektów jest w wektorze
inty.capacity(); // A tyle pamięci wektor zarezerwował
inty.shrink_to_fit(); // Dopasowanie rozmiaru wektora do liczby elementów (C++11)
Lepiej użyć listy, lub innego szybszego kontenera
http://en.cppreference.com/w/cpp/container
Jednak przy takich ilościach jak 1000 elementów strata czasowa jest niezauważalna :)