std::findfollowed by vector::erasewill erase the first occurrence of the object with the given value from vector.
std::vector<int> vec{1,3,3,8,3,5};
vec.erase(std::find(vec.begin(), vec.end(), 3));
std::remove, vector::erase, vector.
std::vector<int> vec{1,3,3,8,3,5};
vec.erase(std::remove(vec.begin(), vec.end(), 3), vec.end());
, .
std::remove , ; , std::remove, vector::erase, , , std::find, vector::erase undefined.
, "find-erase", "remove-erase" . , , "find-move-pop_back" "partition-erase":
std::vector<int> vec{1,3,3,8,3,5};
*std::find(vec.begin(), vec.end(), 3) = std::move(vec.back());
vec.pop_back();
std::vector<int> vec{1,3,3,8,3,5};
vec.erase(
std::partition(vec.begin(), vec.end(), [](int v){return v == 3;}),
vec.end());