auf was legst du mehr wert, Elegance oder performance ?
Prinzipiell:
iterieren zu einer bestimmten Pos ? warum dann Vector ?
Dein Ansatz hat den Vorteil, das er fuer alle container gaenge, mit dem entscheidenden nachteil das er Containerspezifikas aus acht laesst, und z.b. fuern vector relativ unperformant wird.
fuer allgemeine Container wuerd ich sowas schreiben:
Code: Alles auswählen
Container::const_iterator itfrom = c1.begin() +start;
Container::const_iterator itTo = c1.begin() +end; /// vorrausgesetzt das end iss exclusive
c2 = Container(itfrom ,itTo);
c1.remove(itfrom,itTo);
/// Container = irgend ein Container mit iterator schnittstelle (QVector<int> oder std::list<double>) oder irgdenwas
/// c1 und c2 instanzen der Container ... der c1 der beschnitten werden soll, c2 wo der verschnitt rein soll .
Startbedingen usw musst natuerlich noch abpruefen ... neen iterator weit uebers ende macht manchmal ned gluecklich
bei vectoren mit PODS wuerd ich eher direkt auf die Zeiger gehen, bin mir ned sicher ob die QT die vector iteratoren zu zeigern aufloest, ansonsten wuerde die obigen Operationen mit den Iteratoren zu denen mittels zeigern gleichwertig sein.
Und das remove wuerd ich bei pods durch speicherkopien ersetzen ....
Aber jenachdem wie elegant oder performant man es braucht. ...
Ciao ...