0
我有一个函数在参数中使用一个常量迭代器,我想对该函数进行递归调用,但是递增了我的迭代器(不修改迭代器本身)。递增一个常数foward迭代器
我发现的唯一解决方案是创建一个迭代器的副本,并预先递增该副本,最终将其作为函数调用的参数传递。
func(const FowardIterator & i, const container & c) {
// lot of very smart code
FowardIterator next = i;
++next;
func(next, c);
}
有没有更简单的方法来做到这一点,一个不涉及创建一个临时迭代器?
你应该值反正通过迭代器。 –
前向迭代器是否有operator ++(int)?如果它确实那么func(i + 1,c)呢? – Grzegorz
STL Foward迭代器不支持i + n,只有随机访问迭代器可以。 – tomahh