Nochmal ne Iterator Frage?



  • ist es möglich Iterator direkt zu positionieren, das ich sowas machen kann:

    std::list<int>::iterator it= LIST.begin();
    
    it+= 5; // <--- Fünf einheiten springen
    
    //Block mit fünf Elementen löschen
    LIST.erase(LIST.begin,it);
    


  • "Springen" geht nur mit Random-Access-Iteratoren, und der von std::list ist keiner. Du kannst nur in einer Schleife den Iterator hochzählen (oder std::advance benutzen, das macht dasselbe).


Anmelden zum Antworten