Удаление элемента массива
arr.erase(it)
- удаление элемента. Метод erase()
удаляет элемент, на который указывает итератор it
.
После arr.erase(it)
it
становится НЕВАЛИДНЫМ (указывает на удаленный участок памяти)!
После удаления элемента, итератор it
"висит" в воздухе и указывает на удаленную память. Использование такого итератора приводит к неопределенному поведению (программа может упасть или работать неправильно).
it = arr.erase(it)
- метод erase()
возвращает новый валидный итератор на элемент, следующий за удаленным, и этот итератор необходимо присвоить it
.