std::vector::erase — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
|
|
(1) | (до C++11) (начиная с C++11) |
|
|
(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.