C ++ Стереть векторный элемент по значению, а не по позиции? [Дубликат]
На этот вопрос уже есть ответ здесь:
Как удалить элемент из вектора stl с определенным значением? 9 ответовvector<int> myVector;
и допустим, что значения в векторе таковы (в следующем порядке):
5 9 2 8 0 7
Если бы я хотел стереть элемент, который содержит значение «8», я думаю, я бы сделал это:
myVector.erase(myVector.begin()+4);
Потому что это стерло бы 4-й элемент. Но есть ли способ стереть элемент, основанный на значении "8"? Подобно:
myVector.eraseElementWhoseValueIs(8);
Или мне просто нужно перебрать все элементы вектора и проверить их значения?