由于 C++11 引入了基于范围的 for 循环( c++11 中的基于范围的 for ),那么在整数范围内表示循环的最简洁方法是什么?
代替
for (int i=0; i<n; ++i)
我想写一些类似的东西
for (int i : range(0,n))
新标准是否支持这种类型的东西?
更新:本文描述了如何在 C++11 中实现范围生成器: Generator in C++
原文由 user1101674 发布,翻译遵循 CC BY-SA 4.0 许可协议
虽然 C++11 不提供,但您可以编写自己的视图或使用 boost 中的视图:
此外,
Boost.Range
包含一些更有趣的范围,与新的for
循环结合使用会非常有用。例如,您可以获得 反向视图。