С помощью циклов foreach в C++ мы можем написать: [code]void process(int i); ... for(auto i : items) process(i); [/code] С диапазонами в C++20 это можно записать так: [code]std::ranges::for_each(items, process); [/code] С помощью std::views::zip в C++23 мы можем написать: [code]void process(int a, int b); for(auto [a, b] : std::views::zip(itemsA, itemsB)) process(a, b); [/code] Как я могу использовать std::ranges::for_each для вызова исходной функции процесса(int, int)?
std::views::filter не может моделировать концепцию std::ranges::random_access_range (скорее всего, потому, что он не может сопоставить произвольный доступ из временного фильтруемого диапазона в исходный диапазон ; поправьте меня, если я ошибаюсь в...
Читая через cppreference.com, я заметил ranges :: find_last_if возвращает субстанцию , но диапазоны :: find_if возвращает только итератор. Мне интересно, есть ли веская причина для этого решения? const auto it = std::ranges::find_if(data |...