c++ - 如何从两个迭代器创建范围
问题描述
我是使用 c++20 范围的新手。我的一个问题是,如果你有两个迭代器到一个向量中,你如何从它们创建一个范围视图?Range 将从第一个迭代器开始,在第二个迭代器之前结束 1。
解决方案
std::ranges::subrange
允许将迭代器和哨兵组合到一个视图中。
例如:
#include <iostream>
#include <vector>
#include <ranges>
int main()
{
std::vector v = {1, 2, 3, 4, 5};
std::ranges::subrange w(v.begin(), v.begin() + 2);
for (auto i : w)
std::cout << i << std::endl;
}
推荐阅读
- unix - 如何使用 ps 和 grep 显示 PID<100 的进程?
- amazon-web-services - terraform 12 每个
- python - 将 Facebook Graph API 洞察 JSON 转换为 pandas 数据框
- python - Python Pandas groupby 使用另一个数据框中的值而不使用 for 循环
- python - 出现错误:在 Keras 中加载模型时:
- android - Google Play 上不再提供 Android 应用
- delphi - 在运行时填充 ListView
- html - 从另一个组件访问一个组件的方法
- typescript - 一个 Typescript 接口,它允许 2 个可选键之一或没有,但不能同时使用
- m2doc - M2DOC : 变量 self 的初始化