Better Vector Code Use reserve() to allocate space void duplicate(vector &v) { v.reserve(v.size()*2); vector::const_iterator b = v.begin(), e = v.end(); for(; b != e; ++b) v.push_back(*b); }