s.begin() + s.length() + 1; // ist dieser Iterator benutzbar?
-
Ist ein Iterator noch benutzbar, wenn ich zu begin() noch einen Wert größer als die eigentliche Container-Größe hinzurechne?
Beispiel:
std::string s = "Hallo"; std::string::const_iterator pos = s.begin() + s.length() + 1;Ich denke mal nicht, denn er ist nicht s.end(), aber trotzdem wollte ich nochmal nachfragen bevor ich ein vielleicht unnötige Überprüfung einbaue.
-
Offiziell nutzbar sind nur Iteratoren zwischen s.begin() und s.end() (letzterer nur für Iterator-Vergleiche) - alles dahinter ist nicht definiert.
(oder kurz: nein, der Iterator ist nicht verwendbar)