std::vector::erase
From cppreference.com
                    
                                        
                    
                    
                                                            
                    
| (1) | ||
|   iterator erase( iterator pos );  | 
(until C++11) | |
|   iterator erase( const_iterator pos );  | 
(since C++11) | |
| (2) | ||
|   iterator erase( iterator first, iterator last );  | 
(until C++11) | |
|   iterator erase( const_iterator first, const_iterator last );  | 
(since C++11) | |
Removes specified elements from the container.
1) Removes the element at 
pos.2) Removes the elements in the range 
[first; last).Iterators and references to the erased elements and to the elements between them and the end of the container are invalidated. The past-the-end iterator is also invalidated.
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] Notes
All iterators must be valid and dereferenceable, that is, the end() iterator (which is valid, but is not dereferencable) cannot be used.
[edit] Example
#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'; }
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)  | |