升压irange以“最后”的说法只是

是否存在的boost::irange的扩展,只需要一个int参数,使用0作为默认first参数,并给出int作为原irangelast说法?升压irange以“最后”的说法只是

例如,我已经可以做到这一点:

foreach(int i, irange(0, 3)) 

cout << i << endl;

但我想相同的功能Python的range功能,像这样:

foreach(int i, irange(3)) 

cout << i << endl;

如果该扩展不存在,我估计应该很容易写自己,但以下不起作用:

template<class Integer> 

iterator_range< range_detail::integer_iterator<Integer> > irange(int last){

return irange(0, last);

}

回答:

你没有使用你的模板参数。试试这个:

template<class Integer> 

boost::iterator_range< boost::range_detail::integer_iterator<Integer> > irange(Integer last)

{

return boost::irange(static_cast<Integer>(0), last);

}

以上是 升压irange以“最后”的说法只是 的全部内容, 来源链接: utcz.com/qa/266398.html

回到顶部