Probleme mit vector und insert
-
Kann mir jemand die Ausgabe von folgendem erklären:
vector<int> x(3, 0); vector<int>::iterator it; it = x.begin(); x.insert(it, 5); while(it != x.end()) { cout << *it << endl; ++it; }Ausgabe:
0 0 0 1207979854 196612 524628 5 0 0 0erwartet hätte ich eher:
5 0 0 0
-
Nachdem Du ein neues Element eingefügt hast, ist die Position des Iterators nicht mehr der Anfang.
so funktioniert es:vector<int> x( 3, 0 ); vector<int>::iterator it; x.insert( x.begin(), 5 ); it = x.begin(); while(it != x.end()) { cout << *it << endl; ++it; }
-
Aha!...Danke.