std::vector::erase
cppreference.com
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 -) |