我現在有for循環以下:迭代對於第二到最後一個元素列表中的
for(list<string>::iterator jt=it->begin(); jt!=it->end()-1; jt++)
我有字符串這是一個更大的列表(list<list<string> >
)的列表。我想遍歷內部列表的內容,直到到達第二個到最後一個元素。這是因爲我已經處理了最後一個元素的內容,沒有理由再次處理它們。
但是,使用it->end()-1
是無效的 - 我不能在這裏使用-
運算符。雖然我可以使用運算符--
,但這會在每個循環中遞減最後的迭代器。
我相信一個STL列表是一個雙向鏈表,所以從我的角度來看,應該可以做到這一點。
建議?在此先感謝
我很欣賞這個解決方案的簡單性。是的,使用反向迭代器的其他解決方案非常好 - 但是您的解決方案在不使用特殊迭代器的情況下教會了我一種方法。 – BSchlinker
「如果你不想爲創建一個仿函數而煩惱」 - 今天我會建議只在那裏粘貼一個lambda – Paladin