std::vector
-
gibt es eine möglichkeit ein element in einem vector mit einer funktion auszustatten, dass es aus dem vector gelöscht wird?
sowas in der art vector[x].EraseFromVector ?
das Problem ist dass es vorkommen kann dass ich den index mancher objekte nicht weiß, so dass ich das über meine elmente statt über den vector regeln möchte
-
Wie wärs mit std::vector::erase?
-
gasst schrieb:
das Problem ist dass es vorkommen kann dass ich den index mancher objekte nicht weiß, so dass ich das über meine elmente statt über den vector regeln möchte
Das geht nicht. Zumindest nicht ohne Suche.
Du willst ja etwas am Vector verändern, also musst du ihm auch sagen, welches Element er löschen soll.Es ist sowieso gefährlich, innerhalb eines Objektes dem tragenden Container den Auftrag geben, das Element zu löschen. Dieses wird dann zerstört, während man noch darauf zugreift.
Du musst es so einrichten, dass du von ausserhalb prüfen kannst, welche Elemente gelöscht werden können, und dies dann tust.
P.S.: Auf www.cplusplus.com findet man eine Referenz zu grossen Teilen C++-Standardbibliothek, die würde dir auch bei solchen Fragen helfen.
-
Warum nicht mit std::remove_if()???