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