namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:remove

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 rrichter