kennen:lib:remove_if
Inhaltsverzeichnis
remove_if()
#include
<algorithm>
For remove_if (For first, For last, Pred pred) For remove_if (Exec pol, For first, For last, Pred pred) Range ranges::remove_if (Range r, Pred pred, Proj proj = {}) Range ranges::remove_if (For first, For last, Pred pred, Proj proj = {})
Entfernt im Bereich [first,last) alle Elemente e
, auf die pred(proj(e))
zutrifft.
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.
Parameter
first | Anfang des Bereiches |
last | Ende des Bereiches |
pred | einstelliges Prädikat |
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_if.cpp
#include <algorithm> #include <functional> #include <string> #include <iostream> int main() { std::string s = "Hallo, Welt"; std::cout << s << '\n'; auto i = remove_if(begin(s), end(s), [](char c) { return c <'l'; }); s.erase(i, end(s)); std::cout << s << '\n'; }
kennen/lib/remove_if.txt · Zuletzt geändert: 2020-06-16 09:08 von 127.0.0.1