std::forward_list<T,Allocator>:: erase_after
From cppreference.net
<
cpp
|
container
|
forward list
|
iterator erase_after
(
const_iterator pos
)
;
|
(1) |
(desde C++11)
(constexpr desde C++26) |
|
iterator erase_after
(
const_iterator first, const_iterator last
)
;
|
(2) |
(desde C++11)
(constexpr desde C++26) |
Elimina los elementos especificados del contenedor.
1)
Elimina el elemento que sigue a
pos
.
Si el iterador que sigue a
pos
no es dereferenciable, el comportamiento es indefinido.
2)
Elimina los elementos en el rango
(
first
,
last
)
.
Si cualquier iterador en el rango
(
first
,
last
)
no es desreferenciable, el comportamiento es indefinido.
Contenidos |
Parámetros
| pos | - | iterador al elemento que precede al elemento a eliminar |
| first, last | - | el par de iteradores que define el rango de elementos a eliminar |
Valor de retorno
1)
Iterador al elemento siguiente al eliminado, o
end()
si no existe tal elemento.
2)
last
Complejidad
1)
Constante.
2)
Lineal en la distancia entre
first
y
last
.
Excepciones
No lanza nada.
Ejemplo
Ejecutar este código
#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()); // Error: no function erase() l.erase_after(l.before_begin()); // Elimina el primer elemento 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'; }
Salida:
2 3 4 5 6 7 8 9 2 3 6 7 8 9
Véase también
|
borra el contenido
(función miembro pública) |