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

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

11

16.08.2007, 13:37

das ist bei std::list so... bei std::vector liegen die Elemente genau wie beim Array direkt hintereinander.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

12

16.08.2007, 13:37

Nein, das war noch nie so. Wir reden hier von std::vector nicht std::list! Der STL Container std::vector garantiert übrigens das der Zugriff über den Operator[] genauso schnell (und unsicher) ist wie der bei einem Array.

Edit: zu spät! :)
@D13_Dreinig

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

13

16.08.2007, 14:16

Ach so...

Aber wenn das auch hintereinander liegt ( im Speicher)
wie wird die liste dan erweitert wenn dahinter ( im Speicher)
etwas liegt ?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

16.08.2007, 14:19

Indem ein neuer Speicherblock reserviert wird und die alten Daten in den neuen Block kopiert werden. Danach wird der alte Speicherblock gelöscht. Ist doch einleuchtend oder?
@D13_Dreinig

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

15

16.08.2007, 16:45

mhhh...

so hab ich mirs fast gedacht ;)
Aber jetzt wo du es sagst fällt mir auf das es gar
nicht so zu lasten der performence is. :idea:

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

16.08.2007, 17:37

Ja gell, wer hätte das gedacht. Ich frag mich oft woher der Mytos "STL verwenden ist nicht gut, weil vieeel zu langsam" herkommt. Das stimmt garnicht, die STL Routinen sind zumeist sehr schnell.

Es ist übrigens davon abzuraten Arrays polymorph zu behandeln! Polymorphie und Zeigerarithmetik vertragen sich ganz schlecht und führen oft zu ganz bescheidenen Fehlern. Das Problem beschreibt auch schon Meyers.
@D13_Dreinig

Werbeanzeige