Карточка 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 ошибок.