Estou garantido que os ponteiros para os elementos std :: vector são válidos depois que o vetor é movido?

Considerando este exemplo:

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

Embora em muitas implementações de STL isso provavelmente funcione, sou garantido pelo padrão que nenhuma realocação é executada quando umstd::vector é movido e o backup interno do bufferv2 é o mesmo que costumava ser o dev1? Não consegui encontrar essas informações nem na Internet nem no próprio padrão.

questionAnswers(2)

yourAnswerToTheQuestion