typedef list<string> circuitlist;
circuitlist::iterator tempp;比如说tempp已经指向了一个位置,我想在这个位置前面插入数据,
用CL.insert(tempp,"asdfsdf");
但是我如果想在tempp后面插入数据,同时不改变tempp的值,也就是tempp的位置呢?

解决方案 »

  1.   

    不太明白楼主的意思:
    这样不可以吗? CL.insert(tempp+1 , "backoftempp");
      

  2.   

    不行,试过了,这样出错。
    还有啊,怎么在list里面搜索我想要得值在什么位置呢?
      

  3.   

    list 它是一个双向链表,是双向叠代器,也不是随机叠代器当然不能+1可以++
      

  4.   

    理由如楼上所说:
    楼主不如这样:
    CL.push_back("asdfsdf");
    然后:
    CL.push_back("backofasdfsdf");
      

  5.   

    if(++temp == CL.end())
       CL.push_back("asdfsdf");
    else
       CL.Insert(tempp,"asdfsdf");