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