What happens to an STL iterator after erasing it in VS, UNIX/Linux?

前端 未结 4 693
轻奢々
轻奢々 2020-12-05 21:35

Please consider the following scenario:


map(T,S*) & GetMap(); //Forward decleration

map(T, S*) T2pS = GetMap();

for(map(T, S*)::iterator it = T2pS.begin()         


        
4条回答
  •  悲&欢浪女
    2020-12-05 21:44

    See this:

    for (i = v.begin(); i != v.end(); ) {
      //...
      if (erase_required) {
          i = v.erase(i);
      } else {
          ++i;
      }
    }
    

提交回复
热议问题