std::forward_list::erase_after
De cppreference.com
iterator erase_after( const_iterator pos );
|
(1) | (desde C++11) |
iterator erase_after( const_iterator first, const_iterator last );
|
(2) | (desde C++11) |
Elimina del contenedor los elementos especificados.
1) Elimina el elemento que sigue de
pos.2) Elimina los elementos que siguen de
first hasta last.Parámetros
| pos | - | Iterador al elemento que precede al elemento a eliminar. |
| first, last | - | Rango de elementos a eliminar. |
Valor de retorno
1) Iterador al elemento que sigue al eliminado, o end() si tal elemento no existe.
2)
lastComplejidad
1) Constante.
2) Lineal en la distancia entre
first y last.Ejemplo
Ejecuta este código
#include <forward_list>
#include <iterator>
#include <iostream>
int main()
{
std::forward_list<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9};
// l.erase(l.begin()); // ERROR: no hay función 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
(C++11) |
Borra el contenido. (función miembro pública) |