Namespaces
Variants

std::forward_list<T,Allocator>:: erase_after

From cppreference.net
iterator erase_after ( const_iterator pos ) ;
(1) (depuis C++11)
(constexpr depuis C++26)
iterator erase_after ( const_iterator first, const_iterator last ) ;
(2) (depuis C++11)
(constexpr depuis C++26)

Supprime les éléments spécifiés du conteneur.

1) Supprime l'élément suivant pos .
Si l'itérateur suivant pos n'est pas déréférençable, le comportement est indéfini.
2) Supprime les éléments dans l'intervalle ( first , last ) .
Si un itérateur quelconque dans la plage ( first , last ) n'est pas déréférençable, le comportement est indéfini.

Table des matières

Paramètres

pos - itérateur vers l'élément précédant l'élément à supprimer
first, last - la paire d'itérateurs définissant l' intervalle des éléments à supprimer

Valeur de retour

1) Itérateur vers l'élément suivant celui qui a été effacé, ou end() si aucun tel élément n'existe.
2) last

Complexité

1) Constante.
2) Linéaire en fonction de la distance entre first et last .

Exceptions

Ne lance rien.

Exemple

#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()); // Erreur : pas de fonction erase()
    l.erase_after(l.before_begin()); // Supprime le premier élément
    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';
}

Sortie :

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

Voir aussi

efface le contenu
(fonction membre publique)