是否有类似advance的函数,但会返回迭代器而不是void
返回类型?我希望有一个函数调用,如:
//...
[&value](InIter part_begin, std::size_t part_count)
{
difference_type ret =
std::count(part_begin, std::advance(part_begin,count), value);
return ret;
},
但advance是一个void
返回类型函数,所以我现在正在做
//...
[&value](InIter part_begin, std::size_t part_count)
{
InIter end = part_begin;
std::advance(end,part_count);
difference_type ret = std::count(part_begin, end, value);
return ret;
},
重要的是要注意我不能只做part_begin + count
,这对我正在使用的某些迭代器不起作用,迫使我当前使用{{1} }}。有没有更干净的方法呢?