std::forward_list<T,Allocator>:: erase_after
From cppreference.net
<
cpp
|
container
|
forward list
|
iterator erase_after
(
const_iterator pos
)
;
|
(1) |
(seit C++11)
(constexpr seit C++26) |
|
iterator erase_after
(
const_iterator first, const_iterator last
)
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
Entfernt bestimmte Elemente aus dem Container.
1)
Entfernt das Element nach
pos
.
Wenn der Iterator nach
pos
nicht dereferenzierbar ist, ist das Verhalten undefiniert.
2)
Entfernt die Elemente im Bereich
(
first
,
last
)
.
Falls ein Iterator im Bereich
(
first
,
last
)
nicht dereferenzierbar ist, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| pos | - | Iterator auf das Element vor dem zu entfernenden Element |
| first, last | - | das Paar von Iteratoren, das den Bereich der zu entfernenden Elemente definiert |
Rückgabewert
1)
Iterator auf das Element nach dem gelöschten oder
end()
falls kein solches Element existiert.
2)
last
Komplexität
1)
Konstante.
2)
Linear in der Distanz zwischen
first
und
last
.
Ausnahmen
Wirft nichts.
Beispiel
Diesen Code ausführen
#include <forward_list> #include <iostream> #include <iterator> int main() { std::forward_list<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // l.erase(l.begin()); // Fehler: keine Funktion erase() l.erase_after(l.before_begin()); // Entfernt erstes Element for (auto n : l) std::cout << n << ' '; std::cout << '\n'; auto fi = std::next(l.begin()); auto la = std::next(fi, 3); l.erase_after(fi, la); for (auto n : l) std::cout << n << ' '; std::cout << '\n'; }
Ausgabe:
2 3 4 5 6 7 8 9 2 3 6 7 8 9
Siehe auch
|
löscht den Inhalt
(öffentliche Elementfunktion) |