std::vector::erase :
iterator erase( const_iterator pos );
iterator erase( const_iterator first, const_iterator last );
pos, [first, last).
last , , , std::remove_if. :
stopPoints.erase(std::remove_if(stopPoints.begin(),
stopPoints.end(),
[&](const stopPointPair stopPoint)-> bool { return stopPoint.first == 4; }),
stopPoints.end());
erase-remove : , {2, 4, 3, 6, 4}, 4:
std::vector<int> vec{2, 4, 3, 6, 4};
auto it = std::remove(vec.begin(), vec.end(), 4);
{2, 3, 6, A, B}, "" ( A B ( ), 6 ) A ( "" ).
:
vec.erase(it)
std::vector::erase , it, A {2, 3, 6, B}.
:
vec.erase(it, vec.end())
, it vec.end(), A, B .