kennen:lib:remove
Inhaltsverzeichnis
remove()
#include
<algorithm>
For remove (For first, For last, T wert) For remove (Exec pol, For first, For last, T wert) Range ranges::remove (Range r, T wert, Proj proj = {}) Range ranges::remove (For first, For last, T wert, Proj proj = {})
Entfernt im Bereich [first,last) alle Elemente e
mit proj(e) == wert
.
Der Algorithmus arbeitet so, dass entfernten Elementen und ihren Nachfolgern nachfolgende Werte zugewiesen werden. Damit ist der Algorithmus nicht für assoziative Container einsetzbar. Die Elemente hinter dem neuen Ende werden nicht wirklich entfernt. Dies kann nur ein Container selbst. Von diesem Algorithmus gibt es eine spezielle Version für Listen, die Elemente wirklich entfernt und ein deutlich besseres Zeitverhalten besitzt.
Parameter
first | Anfang des Bereiches |
last | Ende des Bereiches |
wert | zu entfernender Wert |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Ergebnis
Rückgabewert: Iterator j
auf das neue Ende des Bereiches bzw. {j,last}
.
Siehe auch
Beispiel
- remove.cpp
#include <algorithm> #include <string> #include <iostream> int main() { std::string s = "Hallo, Welt"; std::cout << s << '\n'; auto i = std::remove(begin(s), end(s), 'l'); s.erase(i, end(s)); std::cout << s << '\n'; }
kennen/lib/remove.txt · Zuletzt geändert: 2020-06-16 09:07 von 127.0.0.1