verständnis vektoren



  • hi
    ich habe auf versch. referenzen, über vektoren gelesen. dabei bin ich darauf gestoßen, das ein vektor ein "sequenzieller" container ist.

    nun stellt sich mir die frage ob das bedeutet das ein vektor auch sequenziell im speicher(RAM) für die dauer seiner gültigkeit liegt oder ob nur der container an sich seqenziell angeordnet ist. 🙄

    weiß das jemand? 🙂



  • oder bedeutet sequenziell hier, noch was ganz anderes?

    hab leider unter google nix dazu gefunden... (weiß aber auch nicht so richtig nach was ich suchen muss... 😞 )
    nen link wo mit ner erklärung würde mir auch schon viel helfen... 😃

    lg



  • In einem Array schon, in einer "verketten" liste o.a nicht!!



  • Ein Vector ist ein array mit Comfort-Funktionalität.

    Mit anderen Worten: Ja, die Elemente eines Vectors liegen zusammenhängend im Speicher.
    Du kannst dir die Speicheradresse auch über & und random element access [] ausgeben lassen.

    - internes Array wird wenn zu groß neu allokiert und die bestehenden Werte übertragen.
    - zuzugl. noch andere Funktionen wie size und reserve etc.

    Das macht den Vector auch zu einem kleinen Performance Wunder durch häufige Cache Hits.



  • NullBockException schrieb:

    In einem Array schon, in einer "verketten" liste o.a nicht!!

    chp++ schrieb:

    Ein Vector ist ein array mit Comfort-Funktionalität.

    Mit anderen Worten: Ja, die Elemente eines Vectors liegen zusammenhängend im Speicher.
    Du kannst dir die Speicheradresse auch über & und random access [] ausgeben lassen.

    -Array wird wenn zu groß neu allokiert und die bestehenden Werte übertragen.
    - zuzugl. noch andere Funktionen wie size und reserve.

    ok vielen dank, für die schnelle antworten. 🙂
    thema gelöst! 🙂


Anmelden zum Antworten