如果我没错,我可以使用它在固定范围内进行迭代:

for(int i: {1, 2, 3, 4, 5})
    do_sth(i);

这是同一回事:

vector<int> v{1, 2, 3, 4, 5};
for(int i: v)
    do_sth(i);

但是,如果我想遍历1,...,100的范围并在编译时已经知道该怎么办?
最美丽的方法是什么?
什么最有效?
最短的是什么?

编辑:当然,我可以编写一个常规的for循环,但实际用例将比int涉及更复杂的内容。

我只是稍微简化了示例。

最佳答案

您可以“轻松”编写表示整数范围的for-range-compatible类。您只需要为此编写迭代器。

或者,您可以使用Boost.Range's counting_range ,就是这样。

关于c++ - 有没有一种简短的方法可以在C++中为range(100)中的i编写代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18872459/

10-11 22:47
查看更多