gpt4 book ai didi

c++ - 仅使用 "last"参数 boost 橙色

转载 作者:行者123 更新时间:2023-11-28 03:22:19 28 4
gpt4 key购买 nike

是否有 boost::irange 的扩展,它只接受一个 int 参数,使用 0 作为默认的 first 参数和给定的int 作为原始 irange 中的 last 参数?

例如,我已经可以这样做了:

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);
}

关于c++ - 仅使用 "last"参数 boost 橙色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15099638/

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