erase_if в C++20 убирает элементы контейнера по предикату одним вызовом. Для std::vector это std::erase_if из #include .">
⊗cpSpAgEf 98 of 696 menu

Удаление по условию в C++

Функция erase_if в C++20 убирает элементы контейнера по предикату одним вызовом.

Для std::vector это std::erase_if из #include <vector>. Размер контейнера уменьшается, индексы сдвигаются. Запишем список чисел и выведем остаток после удаления нулей:

#include <iostream> #include <vector> int main() { std::vector<int> data = {1, 0, 2, 0, 3}; std::erase_if(data, [](int v) { return v == 0; }); for (int v : data) { std::cout << v << " "; } std::cout << "\n"; return 0; }

Из вектора {3, 4, 5, 6} удалите четные элементы через std::erase_if и выведите оставшиеся числа.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить