It depends how often you need to do that and how specifically. There is such a thing as a transforming iterator, and you could make one such that
vcopy( deref_iter( v.begin() ), deref_iter( v.end() ) );
would do what you want. However, that's not that much easier than what you have, and a straightforward function taking a pointer-vector and returning an object-vector would be easier to implement and to use.
Potatoswatter
2010-04-10 05:15:39