Macht das Verschieben eines Vektors Iteratoren ungültig?

Wenn ich einen Iterator in Vektor habea, dann bewege ich Konstrukt oder bewege Zuweisungsvektorb vona, zeigt dieser Iterator immer noch auf dasselbe Element (jetzt im Vektor)?b)? Das meine ich mit Code:

#include <vector>
#include <iostream>

int main(int argc, char *argv[])
{
    std::vector<int>::iterator a_iter;
    std::vector<int> b;
    {
        std::vector<int> a{1, 2, 3, 4, 5};
        a_iter = a.begin() + 2;
        b = std::move(a);
    }
    std::cout << *a_iter << std::endl; // Is a_iter valid here?
    return 0;
}

Ista_iter noch gültig seita ist umgezogen inb, oder ist der Iterator durch den Umzug ungültig? Als Referenz,std::vector::swap macht Iteratoren nicht ungültig.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage