std::vector Speicherplatz löschen



  • Tag zusammen,

    hab mal eine kleine Frage zu vector. Ist es recht einfach möglich einen speicherplatz zwischenduch zu löschen (weiß nicht genau wie ich das nennen soll)

    mal ein Beispiel:

    std::vector<int> test;
    
    test.resize(15);
    
    test[0]  // soll jetzt gelöscht werden so das ich nachher in test.size() ne 14 drin stehen habe.
    

    oder muss ich den speicher manuell verschieben (bzw. mit memcpy)?

    Danke schonmal

    PS.: Vielleicht hat ja auch jemand eine andere Idee. Was ich brauche ist ein Puffer. Es kommen zu unterschiedlichen Zeiten uterschiedlich viele Werte in form eine Struktur an. Diese Werte möchte ich gerne abpuffern und nacheinander abarbeiten.



  • v.erase( v.begin() );



  • Wenn du häufig das erste Element löschen oder dort eins einfügen willst wäre deque statt vector die bessere Wahl. Dort gibt es pop_front() bzw. push_front().



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL (C++ Builder) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • JBOpael schrieb:

    PS.: Vielleicht hat ja auch jemand eine andere Idee. Was ich brauche ist ein Puffer. Es kommen zu unterschiedlichen Zeiten uterschiedlich viele Werte in form eine Struktur an. Diese Werte möchte ich gerne abpuffern und nacheinander abarbeiten.

    Eventuell wäre der Container-Adapter std::queue etwas für dich. Der verhält sich wie eine Warteschlange: Objekte, die zuerst eingefügt werden, kannst du zuerst abarbeiten.


Anmelden zum Antworten