如果我没错,我可以使用它在固定范围内进行迭代:
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/