Часто, если вы пытаетесь удалить несколько элементов из vector
в цикле, использование remove_if
даст вам лучшую производительность, чем использование erase
для каждого элемента. Рассмотрите это, а не повторяйте-стирайте.
Однако, чтобы ответить на ваш вопрос, да, они действительны, но будьте осторожны при увеличении итератора перед тем, как снова протестировать его на end
, поскольку удаление может сделать ваш итератор теперь равным end
. РЕДАКТИРОВАТЬ: @ Эрик ответ указывает, что это может быть на самом деле не действительным, но формулировка неясно.