Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

21

14.11.2013, 13:13

Der vector, wie schon angesprochen, arbeitet anders, also speichert nicht konsekutiv in einen Block sondern in mehrere Speicherblöcke etc. Außerdem arbeitet er auf dem Heap(im Gegensatz zum Stack), was sich auch nochmal auswirkt.
Diese Aussage ist nicht(mehr) ganz richtig denke ich. Sonst wäre std::vector::data nicht möglich. Und genau dies ist auch ein Grund warum ich garkeinen Grund mehr sehe ein C Array zu benutzen. (Ich hoffe ich hab die Aussage jetzt nicht zu sehr aus dem Kontext gerissen und evtl. falsch Verstanden)
:love: := Go;

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

22

14.11.2013, 13:45

Der vector, wie schon angesprochen, arbeitet anders, also speichert nicht konsekutiv in einen Block sondern in mehrere Speicherblöcke etc. Außerdem arbeitet er auf dem Heap(im Gegensatz zum Stack), was sich auch nochmal auswirkt.
Diese Aussage ist nicht(mehr) ganz richtig denke ich. Sonst wäre std::vector::data nicht möglich. Und genau dies ist auch ein Grund warum ich garkeinen Grund mehr sehe ein C Array zu benutzen. (Ich hoffe ich hab die Aussage jetzt nicht zu sehr aus dem Kontext gerissen und evtl. falsch Verstanden)

Stimmt, da hast du recht. Was der vector aber macht: Sobald er zu groß wird für den aktuell angelegten Speicher, bewegt er sich zu einem neuen Punkt im Speicher und man hat somit keine Probleme was die Größe angeht.
WIP Website: kevinheese.de

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

23

14.11.2013, 13:53

Klar, was ja ein Vorteil vom std::vector ist. Mir ging es eigentlich eher darum, dass man std::array(Ohne dieses Vergrößern) und std::vector durch diese Verhalten als quasi vollständigen und erweiterten Ersatz für die alten C Arrays nehmen kann. Sie ermöglichen die alten Zugriffe ebenso wie die Neuen.
:love: := Go;

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

24

14.11.2013, 15:09

Jep, wobei es fragwürdig ist, ob man die alten jemals wirklicht braucht (im Alltag)
WIP Website: kevinheese.de

Werbeanzeige