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) |