C ++ Стереть векторный элемент по значению, а не по позиции? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как удалить элемент из вектора stl с определенным значением? 9 ответов
vector<int> myVector;

и допустим, что значения в векторе таковы (в следующем порядке):

5 9 2 8 0 7

Если бы я хотел стереть элемент, который содержит значение «8», я думаю, я бы сделал это:

myVector.erase(myVector.begin()+4);

Потому что это стерло бы 4-й элемент. Но есть ли способ стереть элемент, основанный на значении "8"? Подобно:

myVector.eraseElementWhoseValueIs(8);

Или мне просто нужно перебрать все элементы вектора и проверить их значения?

Ответы на вопрос(4)

Ваш ответ на вопрос