Hallo Forum!
Ich schreibe gerade an einer Klasse, die eine std::list verwendet - und bin dabei auf ein paar Problemchen gestoßen:
Wenn ich mir nun einen Iterator auf begin() hole, wenn die Liste Leer ist, so scheint dieser undefiniert zu sein - wenn ich nun ein (erstes) Element ‚back_pushe‘ scheint der Iterator genauso ungültig zu sein.
„Okay“, habe ich mir gedacht und im Stroustrup nachgelesen und dort steht ‚Ein Iterator kann ungültig sein[…], weil er in einen Container zeigt, dessen Größe sich explizit oder implizit verändert hat […]‘.
Nun frage ich mich, ob das auch für Iteratoren gilt, die auf ein Elemant irgendwo in der Mitte der Liste zeigen, wärend ein neues Element der Liste hinzugefügt wird. Eigentlich sollte das ja bei einer Liste unproblematisch sein, aber die STL hat mich schon öfters mal auf dem falschen Fuß erwischt …