I'm not sure where to quote the standard from, but e.g.:

http://www.cplusplus.com/reference/vector/vector/erase/
> ... all iterators, pointers and references to elements before position (or first) are guaranteed to keep referring to the same elements they were referring to before the call.

Can use this to get it to shrink if you want it to:
http://www.cplusplus.com/reference/vector/vector/shrink_to_fit/

http://www.sgi.com/tech/stl/Vector.html
> A vector's iterators are invalidated when its memory is reallocated. Additionally, inserting or deleting an element in the middle of a vector invalidates all iterators that point to elements following the insertion or deletion point. ...

But, maybe I'm wrong, I'm not sure where the standard itself is?

-[Unknown]