Przestrzenie nazw
Warianty

std::forward_list::erase_after

Z cppreference.com
<tbody> </tbody>
iterator erase_after( const_iterator pos );
(1) (od C++11)
iterator erase_after( const_iterator first, const_iterator last );
(2) (od C++11)

Usuwa określone elementy z kontenera.

1) Usuwa element za pos.
2) Usuwa elementy z otwartego zakresu (first; last).

Parametry

pos - iterator do elementu poprzedzającego element do usunięcia
first, last - zakres elementów do usunięcia

Zwracana wartość

1) Iterator na element następny za usuniętym, lub end() jeśli taki element nie istnieje.
2) last

Złożoność

1) Stała.
2) Liniowa względem odległości pomiędzy first a last.

Przykład

#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: ten kontener nie ma metody erase
    
    l.erase_after( l.before_begin() ); // Usuwa pierwszy 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';
}

Wynik:

2 3 4 5 6 7 8 9
2 3 6 7 8 9

=Zobacz także

czyści zawartość
(publiczna metoda) [edit]