我想遍历自定义结构“ Edge”的向量。 我已经预先为属性权重对向量进行了排序。 有时我想停止迭代向量,计算其他东西。 当我再次遍历向量时,我想从最后访问的元素开始。
带整数的示例: 边:[0,1,2,3,4,5,6] 重复:0,1,2 打破功能并计算其他东西 重复:[3,4,5,6]
我考虑过保存vector :: iterator。 将第一个元素的指针更改为 通缉的元素,但我没有为此找到任何东西
谢谢。
答案 0 :(得分:1)
尝试这样的事情:
for(int i = 0; i < vec.size(); i++) {
do_work(vec[i]);
if(i == breakPoint) {
do_calculations();
}
}
breakPoint
处的整数表示要停止的索引。除非,否则破坏功能真的很重要。然后,您可以使用静态的i
,但这有可能给您带来比我认为值得的更多头痛的麻烦