¿Estoy seguro de que los punteros a los elementos std :: vector son válidos después de mover el vector?

Considerando este ejemplo:

std::vector<int> v1 = { 1, 2, 3 };
const int* i = &v1[1];
std::vector<int> v2(std::move(v1));
std::cout << *i << std::endl;

Aunque en muchas implementaciones de STL esto probablemente funcionará, ¿estoy garantizado por el estándar de que no se realizan reasignaciones cuando unstd::vector se mueve y el respaldo interno del búferv2 es el mismo que solía ser el dev1? No pude encontrar esta información ni en Internet ni en el estándar mismo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta