我有被在多個地方訪問列表。有些情況下,我在列表中從開始到(完-N)元素和其他地方被訪問整個列表需要循環。我在迭代器算術中遇到了麻煩。C++列表迭代算法替換的想法
我想要的東西,可以做到以下幾點:
int n =10;
for (list<Term>::iterator itr = final.begin(); itr != (final.end()-n); itr++) {
//
}
做以下的僞代碼有意義嗎?
int N = myList.size() - n;
for (list<Term>::iterator itr = final.begin(),int length_reached=0; itr != (final.end() && length_reached<N; itr++,length_reached++) {
//
}
對我而言,使用rbegin不是一個選項,因爲我想從列表的開始處開始匹配的第一個實例。
有沒有在這裏實現一個更好的辦法?
遞增運算符是唯一的選擇你...通過begin()獲得一個迭代器,增加它的大小() - n次。 – basav