我有一个向量,我正在使用迭代器修改它的内容。如果满足某些条件,我需要修改向量中下一个元素的内容。我认为,以下将工作:使用迭代器修改容器的内容
*(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