c++20 遍历,包含索引,用 ranges
C++20 引入了 ranges 库,使得遍历变得更加简单和直观。使用 ranges 可以轻松地遍历一个序列并包含索引:
#include <iostream>
#include <vector>
#include <ranges>
int main() {
std::vector<int> v{1, 2, 3, 4, 5};
// 使用 enumerate 包含索引遍历
for (auto [i, value] : std::ranges::views::enumerate(v)) {
std::cout << "v[" << i << "] = " << value << std::endl;
}
return 0;
}
输出:
v[0] = 1
v[1] = 2
v[2] = 3
v[3] = 4
v[4] = 5
使用 std::ranges::views::enumerate 可以创建一个包含索引的视图,然后使用范围 for 循环遍历即可。其中,auto [i, value] 是一个结构化绑定,可以直接获取当前遍历到的元素和索引。
原文地址: https://www.cveoy.top/t/topic/sSl 著作权归作者所有。请勿转载和采集!