gpt4 book ai didi

c++ - boost中的数字范围迭代器?

转载 作者:IT老高 更新时间:2023-10-28 21:38:21 28 4
gpt4 key购买 nike

我知道 boost 中的范围迭代器,至于 this reference ,似乎应该有一种简单的方法来做我想做的事,但这对我来说并不明显。

假设我想表示一个数字范围,0 到 100(包括或不包括),比如 range(0,100)。我想做类似的事情:

for_each(range<int>(0,100).begin(), range<int>(0,100).end(), do_something);

do_something 是一个仿函数。这个迭代器不应该有一个底层 vector 或类似的东西的开销,而只是提供一个整数序列。这可能与boost中的范围实现有关吗?使用普通的标准 STL 迭代器完全可以吗?

最佳答案

boost::counting_iterator

#include <boost/iterator/counting_iterator.hpp>

std::for_each( boost::counting_iterator<int>(0),
boost::counting_iterator<int>(100),
do_something );

关于c++ - boost中的数字范围迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592763/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com