close
Пространства имён
Варианты
Действия

std::vector::erase

Материал из cppreference.com
 
 
 
 
<tbody> </tbody>
iterator erase( iterator pos ); iterator erase( const_iterator pos );
(1) (до C++11)
(начиная с C++11)
iterator erase( iterator first, iterator last ); iterator erase( const_iterator first, const_iterator last );
(2) (до C++11)
(начиная с C++11)

Удаляет указанные элементы из контейнера.

1) Удаляет элемент в позиции pos.

2) Удаляет элементы в диапазоне [first; last).

Итераторы и указатели к удалённым элементам и к элементам, идущим за ними, становятся нерабочими.

Параметры

pos итератор указывающий на удаляемый элемент
first, last диапазон удаляемых элементов

Возвращаемое значение

Итератор, следующий за последним удаленным элементом.

Пример

#include <vector>
#include <iostream>


int main( )
{
    std::vector<int> c{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';

    c.erase(c.begin());

    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';

    c.erase(c.begin()+2, c.begin()+5);

    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';
}

Вывод:

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

Сложность

1) linear in the distance between position and last.

2) linear in distance between position and the end of the container.

См. также

очищает содержимое
(public функция-элемент) [править]