Cita:
Iniciado por kutcher - Un vector no almacena sus datos en posiciones de memoria continua. ...
No, no; no es así.
El estándar C++ dice en
23.3.6 Class template vector que un vector (que no sea de bool) satisface los requerimientos de un
contiguous container. Y eso quiere decir:
A contiguous container is a container that supports random access iterators (24.2.7) and whose member types iterator and const_iterator are contiguous iterators
Que viene a ser
Iterators that further satisfy the requirement that, for integral values n and dereferenceable iterator values a and (a + n), *(a + n) is equivalent to *(addressof(*a) + n)
O sea: salvo los vectores de bool, que no lo requieren, el estándar garantiza que un vector almacene sus elementos en posiciones contiguas de memoria.