要创建处理临时容器内的值的范围管道,必须合并views::cache1运算符。该运算符会缓存转换的结果,确保其可用于后续操作。
考虑以下场景,其中第三方函数 f 接受类型 T 的参数并返回 T 的向量。将 f 应用于无限范围 src 的所有元素并将结果展平为单个范围的范围管道,我们可以利用以下方法:
auto rng = src | views::transform(f) | views::cache1 | views::join;
管道组件:
通过合并views::cache1,我们确保临时向量由 f 创建的容器可用于 view::join 连接到单个范围。这对于创建与临时容器正确配合的范围管道至关重要。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3