可以使用C++ 11基于范围的迭代在[0,n-1]间隔上迭代吗?

Łuk*_*Lew 3 c++ for-loop c++11

可能重复:
C++ 11中是否有一个范围类用于基于范围的循环?

即是否有一个标准范围与迭代器将取消引用整数?我在考虑这样的事情:

for (int i : rangeTo(10)) { ... }
for (int i : rangeFromTo(10, 20)) { .... }
Run Code Online (Sandbox Code Playgroud)

Jes*_*ood 6

不,但有boost::irange:

#include <boost/range/irange.hpp>
...
for (auto i : boost::irange(10, 20))
{
    std::cout << i << ' ';
}
Run Code Online (Sandbox Code Playgroud)

boost::counting_range

for (auto i : boost::counting_range(10, 20))
{
    std::cout << i << ' ';
}
Run Code Online (Sandbox Code Playgroud)

区别在于您可以添加一个步骤boost::irange(10, 20, 2).