В C++ алгоритм remove_if используется для удаления элементов из контейнера (например, из вектора, списка и т.д.) на основе заданного предиката. Однако стоит отметить, что remove_if не удаляет элементы физически из контейнера, а перемещает их в конец контейнера и возвращает итератор на новую "конечную" позицию, где начинаются удалённые элементы. Для фактического удаления нужно использовать метод erase контейнера. #include <algorithm> // Для std::remove_if #include <vector> // Для std::vector #include <iostream> // Для std::cout template <class ForwardIt, class UnaryPredicate> ForwardIt remove_if(ForwardIt first, ForwardIt last, UnaryPredicate p); Вот пример использования remove_if для удаления всех чётных чисел из вектора: #include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // Удаляем все чётные числа auto new_end = std::remove_if(vec.begin(), vec.end(), [](int x) { return x % 2 == 0; // Условие: число чётное })