我想不开
c4droid吧
全部回复
仅看楼主
level 10
昵称君😂 楼主
[滑稽][滑稽][滑稽]
2017年06月21日 14点06分 1
level 10
昵称君😂 楼主
放到上面就会会闪退
2017年06月21日 14点06分 2
最好不要在这个循环里操作(删除或者添加)这个数据。建议先标记好要删的元素,再在循环之外进行删除
2017年06月21日 14点06分
根据你的代码,你只需要匹配一次就可以擦除元素并break退出循环,如此你就可以把++it放在上面而不必担心数据改变后,++it会引用错误的内存。
2017年06月21日 15点06分
回复 不知者来此 看楼下
2017年06月21日 17点06分
level 12
没学过范围for? 学C++居然不用OOP,泛型!你main函数要写几百行!
2017年06月21日 16点06分 3
范围fot好像不可以用作删除vector的元素吧
2017年06月21日 17点06分
level 10
昵称君😂 楼主
@不知者来此
2017年06月21日 17点06分 4
这就是你的不对了,如果没有匹配到元素,你也要删除它吗?
2017年06月21日 23点06分
从逻辑上看,应该把erase放在for内部的break前面,因为你已经及时退出了for循环,所以不会有什么问题。
2017年06月21日 23点06分
但如果像这个图中的那样,万一匹配不中,it就是无效的,再erase的话就不对了
2017年06月21日 23点06分
level 10
昵称君😂 楼主
[你懂的][你懂的][你懂的][你懂的][你懂的][你懂的][你懂的][你懂的][你懂的][你懂的]
2017年07月06日 12点07分 5
level 9
说个题外话,既然已经声明了fingerpos,那for (auto i = fingerpos.begin();不就行了
2017年07月06日 13点07分 6
1