在C中的范围(100)中写一个简短的方法吗?

前端之家收集整理的这篇文章主要介绍了在C中的范围(100)中写一个简短的方法吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我做对了,我可以用它来迭代一个固定的范围:
for(int i: {1,2,3,4,5})
    do_sth(i);

这是同样的事情:

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

但是如果我想迭代1,…,100的范围并且在编译时已经知道怎么办?
最美妙的方法是什么?
效率最高的是什么?
什么最短的?

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

我稍微简化了一下这个例子.

解决方法

您可以“轻松”编写表示整数范围的范围兼容类.你只需要为它编写迭代器.

或者你可以使用Boost.Range’s counting_range,就是这样.

猜你在找的C&C++相关文章