Разбираем, почему удаление элементов «на ходу» часто ломает обход контейнера, как появляются пропуски и невалидные итераторы, и какой безопасный шаблон использовать в C++:
it
=
c.
erase(
it). Сравним этот подход с массовой фильтрацией через
std::erase_if/erase-remove, посмотрим применимость для
std::vector,
std::list,
std::map,
std::set, и закрепим всё на примерах из мини-приложения TaskBook.