namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:remove_if

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki