Карточка Junior Алгоритмы STL и ranges обновлено

std::erase_if

Вопрос

Как в C++20 одной строкой удалить из vector все элементы по условию?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

std::eraseif(v, pred);: удаляет и возвращает число удалённых. Для std::erase(v, value) то же по значению.

Ответ

std::erase_if(v, pred);: удаляет и возвращает число удалённых. Для std::erase(v, value) то же по значению. Работает для vector, deque, string, list, ассоциативных контейнеров.

Разбор

std::erase_if(v, pred);: удаляет и возвращает число удалённых. Для std::erase(v, value) то же по значению. Работает для vector, deque, string, list, ассоциативных контейнеров.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.