Ala*_*ing 8 c++ boost integer range counting
irange和之间有什么区别counting_range?
我需要irange快速生成一系列整数,如下所示:
auto example = boost::irange(0, 5); /// result is {0, 1, 2, 3, 4}
Run Code Online (Sandbox Code Playgroud)
但是注意到某个地方(失去了链接)的一个例子,而是谈到counting_range要完成同样的任务.有没有简单解释这两者之间的区别?
R. *_*des 27
主要区别irange在于是随机访问范围而counting_range不是随机访问范围.counting_range基于Boost.Iterator counting_iterator,它直接使用所有底层整数操作.C++中的整数几乎符合迭代器的概念:唯一缺少的是一个operator*.counting_iterator提供一个operator*身份操作,并将其他所有内容转发给基础类型.
另一个区别是,irange它还支持不同于1的增量.
它们都没有实现它们迭代的整个整数范围,因此它们都使用O(1)内存.
| 归档时间: |
|
| 查看次数: |
3311 次 |
| 最近记录: |