std::deque::erase
From cppreference.com
iterator erase( iterator pos );
iterator erase( const_iterator pos ); |
(1) | (until C++11) (since C++11) |
iterator erase( iterator first, iterator last );
iterator erase( const_iterator first, const_iterator last ); |
(2) | (until C++11) (since C++11) |
Removes specified elements from the container.
1) Removes the element at pos
.
2) Removes the elements in the range [first; last)
.
This section is incomplete Reason: mark the change between C++03 and C++11 |
Contents |
[edit] Parameters
pos | - | iterator to the element to remove |
first, last | - | range of elements to remove |
[edit] Return value
iterator following the last removed element.
[edit] Example
#include <deque> #include <iostream> int main( ) { std::deque<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'; }
Output:
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
[edit] Complexity
1) linear in the distance between position
and last
.
2) linear in distance between position
and the end of the container.
[edit] See also
clears the contents (public member function) |