/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/cpp/cpp-506-14-018/main.cpp
18 строк
534 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
// Плохо: ручной цикл int sum = 0; for (int x : v) { if (x > 0) sum += x; } // Лучше: алгоритмы auto positive = [](int x) { return x > 0; }; int sum = std::accumulate( std::begin(v), std::end(v), 0, [&](int acc, int x) { return acc + (positive(x) ? x : 0); } ); // Или: сначала фильтрация (C++20 ranges) #include <ranges> auto sum = v | std::views::filter(positive) | std::views::transform([](int x) { return x; }) | std::ranges::accumulate(0);