我有一個向量,我正在使用迭代器修改它的內容。如果滿足某些條件,我需要修改向量中下一個元素的內容。我認爲,以下將工作:使用迭代器修改容器的內容
*(it + 1)++;
這對我有意義,因爲我已經能夠告訴循環停止使用條件it != vec.end() - 1
結束的一個短。它似乎並沒有對容器的內容有任何效果的,所以我在下面解決:
++it;
*it += 1;
--it;
這三條線與前一個,我認爲這是一個黑客。有一個更好的方法嗎?我錯過了能夠增加矢量中下一個元素的訣竅是什麼?
你贏得了速度競賽。 :)也考慮到'++ *(it + 1)'的作品,並且更簡潔明瞭。 – 2014-10-06 05:56:01
@JohnZwinck增加,ty – 2014-10-06 05:57:22
在這種情況下,對象只是整數,但我會記住前/後增量。 – 2014-10-06 06:00:43