range-for 循环 c++20 中当前元素的访问索引

Access index of current element in range-for loop c++20

在一个pre-c++20的问题Access index in range-for loop (answer)中,提到

2020 note: It would probably be more wise to use a lambda-based solution instead of macro trickery.

有人可以 post c++20 的基于 lambda 的解决方案吗? c++20 是否还有其他新的解决方案?


编辑:我有一个主循环,它在向量大小上是多态的。由于我必须经常阅读和修改这段代码,我认为我有理由想要最好的解决方案。如果我有时想在主循环中使用 views::reverse 而不是其他循环,会发生什么情况? (我实际上并不需要这个,并在重构后解决了我的直接问题,但我仍然经常使用 additional initializations 来访问我代码库的冷开发区域中的当前元素,值得找到一个解决方案)

在研究定义视图界面之后,我决定使用 range-v3。

std::ranges 中缺少一些东西,在它们被添加到未来的标准中之前,使用 range-v3 而不是自己反复尝试重要的实现是明智的。