C ++ ¿Borrar elemento vectorial por valor en lugar de por posición? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo elimino un elemento de un vector stl con un cierto valor? 9 respuestas
vector<int> myVector;

y digamos que los valores en el vector son esto (en este orden):

5 9 2 8 0 7

Si quisiera borrar el elemento que contiene el valor de "8", creo que haría esto:

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

Porque eso borraría el cuarto elemento. Pero, ¿hay alguna forma de borrar un elemento basado en el valor "8"? Me gusta:

myVector.eraseElementWhoseValueIs(8);

¿O simplemente necesito iterar a través de todos los elementos del vector y probar sus valores?

Respuestas a la pregunta(4)

Su respuesta a la pregunta