美文网首页
迭代器失效情况

迭代器失效情况

作者: lintong | 来源:发表于2015-03-11 20:24 被阅读47次

    对于顺序存储的容器(vector,deque),如果向容器中添加元素,或者删除元素,会导致内存的重新分配,从而使得迭代器或者指针失效。而对于list或者是forward_list因为内部采用指针的形式,所以即便插入元素,迭代器也不会失效。
    因此不要保存end返回的迭代器
    比如如下操作就是错误的

    end = v.end();
    begin  = v.begin();
    while(begin != end){
    //插入操作。。
    }
    

    相关文章

      网友评论

          本文标题:迭代器失效情况

          本文链接:https://www.haomeiwen.com/subject/cuqbxttx.html