std::forward_list<T,Allocator>:: erase_after
From cppreference.net
<
cpp
|
container
|
forward list
|
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
Exécuter ce code
#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) |