Sollte man mit iteratoren elemente löschen können?
-
Hallo,
ich bins mal wieder
,
ist es normalerweise üblich das man nur das front / back element einer list löschen kann?
Oder ist es auch möglich über iteratoren elemente zu löschen? Bis jetzt konnte ich nicht rausfinden ob das bei der stl list möglich ist (und ich will keine anderen funktionen wie remove_if() ) verwenden.Ich habs zwar bis jetzt nicht gebraucht, aber was macht man denn wenn man wieder ein bestimmtes Element aus einer Liste entfernen will und das liegt weder am Anfang noch am Ende?
Sollte ich jetzt meinem Iterator eine delete-methode spendieren um elemente zu löschen?
-
Ich würde nicht dem Iterator ne delete-Methode geben sondern dem Container.
In der stl haben die container die Methoder erase() die einen oder zwei iteratoren als Parameter bekommt.std::vector<int> vec; vec.push_back(1); vec.push_back(3); vec.push_back(10); //löschen des elements mit dem wert 3 vec.erase(std::remove(vec.begin(),vec.end(),3),vec.end());
-
Ja das ist gut, sehr gut sogar! Besten dank!!!
So langsam wird die list was, wenn sie fertig ist kann ich sie ja mal posten (schließlich helft ihr mir ja immer
).