关于set的玄学问题
查看原帖
关于set的玄学问题
292029
幽理家的男人楼主2021/6/9 16:43
while(s[v].size()&&it!=s[v].end()&&last[tl[*it]]<=last[u]){
    change(1,*it,last[tl[*it]],-1);
    s[v].erase(*it);//s是一个set
    it++;//it是迭代器
}

我在调试的时候发现把it删除后,再++(如上),我的迭代器it指的就不对了。

原先set里有两个元素分别是是3和4。it刚开始指向的是3,按理说我先删掉3,it++后指向的应该是4,但是调试结果显示it指向的元素是0。这个bug我调了好久qwq,虽然找到了,但是不知道为什么。

求大佬解答Orz。

2021/6/9 16:43
加载中...