文档目录
View 作用 什么时候用
filter(pred) 筛选满足条件的元素 过滤无效数据、错误剔除
transform(func) 对每个元素做转换 数据类型转换、字段提取、数值计算
take(N) 取前 N 个 分页(取第 1 页)、取 TopK
drop(N) 跳过前 N 个 分页(跳过前一页)
reverse 反转顺序 最近操作记录(最新在最前)
join 展平嵌套容器 vector<vector<int>> 变 vector<int>
split(delim) 按分隔符分割 CSV 解析、命令行参数分割

组合使用案例:日志分析

std::vector<LogEntry> logs = get_logs();

// 需求:找出最近 10 条 ERROR 级别的错误消息,按倒序显示
auto recent_errors = logs
    | std::views::filter([](const LogEntry& e) { return e.level == "ERROR"; })
    | std::views::reverse                              // 最新的在前面
    | std::views::take(10)                             // 只要 10 条
    | std::views::transform([](const LogEntry& e) { return e.message; });
// 一次遍历完成,没有中间容器,没有多余拷贝