Requests aus Queue entnehmen



  • Hallo,

    ich habe die folgende queue

    #include <queue> // von STL
    queue<PReq> requestQueue;

    und ich möchte wissen, wie man ein bestimmtes request entnimmt - oder alle requests entnimmt und in ein array speichert.

    Kann mir einer von euch helfen?

    CL



  • - über einen iterator, die elemente durchgehen und in ein array kopieren...

    - über std::find ein objekt suchen und zurückgeben

    --> Nehm ich an

    EDIT: ups.. iterator gibts für den container gar nich... kansnt du nich std::list oder std::vector nehmen?



  • BorisDieKlinge schrieb:

    EDIT: ups.. iterator gibts für den container gar nich... kansnt du nich std::list oder std::vector nehmen?

    std::queue ist auch kein Container sondern ein Adapter 😉

    Das Template std::queue bildet eine typische Queue (FIFO) mithilfe eines Containers ab. Standard ist std::deque, das kann man aber über den zweiten Templateparameter festlegen.

    @OP:
    Einen Request lesen kannst Du mit front(), entnehmen mit pop(). In ein Array kopieren wird nicht gehen, da die entsprechenden Eigenschaften des Containers wie schon gesagt nicht angeboten werden. Da müsstest Du direkt einen der STL-Container (statt std::queue) verwenden.



  • Ist List eigentlich allgemeiner als Queue? Notfalls könnte ich das schon ändern



  • naja du könntest eine std::list im FIFO prinzip verwenden... ist ja ne verkettet liste...

    mit push_back() / push_front() am Ende/anfang anfügen

    mit pop_back() / pop_front() .... balbalbalb


Anmelden zum Antworten