#include #include #include #include int main() { std::vector values{1, 2, 3, 4, 5, 6}; auto selected = values | std::views::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; }); std::vector result; for (int n : selected) result.push_back(n); assert((result == std::vector{4, 16, 36})); values[1] = 8; assert(result[0] == 4); std::cout << result[0] << ' ' << result[1] << ' ' << result[2] << '\n'; }