set容器的erase

又一次被坑到了

set容器的erase操作

for(i=1; i<=1000000; i++)
        if(i&1)
            ss.insert(i);


   for(it=ss.begin(),i=1; it!=ss.end(); i++,it++)
       {
        if(i%3==0) ss.erase(it);
       }

这样不可以erase操作 不返回 迭代器 很恶心的

除非你删除的值


for(it=ss.begin(),i=1; it!=ss.end(); i++)
       {
        if(i%3==0) ss.erase(it++);
        else it++;
       }

必须这样操作

你可能感兴趣的:(C++基本工具)