Range constructor bei containern mit leerem Range ub?



  • Nehmen wir an ich konstruiere einen Vector mit zwei pointern in der art:

    std::vector<int> intvec(startintp, endintp);
    

    Muss ich dann sicherstellen, dass die Ponter nicht auf das selbe Element zeigen (bei leerem range), oder ist garantiert, dass man in diesem Fall einfach einen leeren vector bekommt?



  • Das ist garantiert.


  • Mod

    Beim Iteratorenpaar-Konstruktoren gilt (wie) immer, dass beide Iteratoren ein rechtsoffenes Intervall bilden.



  • Arcoth schrieb:

    Beim Iteratorenpaar-Konstruktoren gilt (wie) immer, dass beide Iteratoren ein rechtsoffenes Intervall bilden.

    Das ist zu ungenau.

    In der Mathematik ist [a;a)=[b;b)=[a;a-1)=Ø, aber in C++ darf man nicht &x und &x-1 übergeben.

    Das heisst: Iteratorenpaare sind rechtsoffene Intervalle, für die gelten muss right≥left.


Log in to reply