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
C-/C++-Quelltext |
|
1 2 3 4 |
for (std::vector<Asteroid>::const_iterator i = Vector.begin(); i != Vector.end(); ++i) { Vector[i].Draw(); } |
Community-Fossil
Naja. Bei so wenigen Asteroiden dürfte das nichts ausmachen. Zumal es ja noch die Möglichkeit gäbe, ungeordnete Elemente in O(1) aus dem std::vector zu löschen.Zitat von »"NachoMan"«
was sehr langsam ist. warum verwendest du nicht list?
Community-Fossil
Schau dir vielleicht mal die Einführung in die STL an, dort werden solche grundlegende Dinge erklärt. Auf www.cplusplus.com findest du ausserdem eine Dokumentation zu den Klassen, Funktionen und Templates der Standardbibliothek.Zitat von »"Genro"«
Wie benutze ich den erase..
Das stimmt, aber du weisst ja nicht, was er sonst noch für Operationen auf den Container anwendet. Der STL-Container std::list hat zudem 8 Byte Overhead pro Element, und jedes Element muss einzeln allokiert und deallokiert werden. Da der Standard-Allokator für grössere Objekte optimiert ist, braucht der new-Operator relativ viel Zeit, ausserdem kommen nochmals einige Bytes an verstecktem Verwaltungsaufwand hinzu. Im Weiteren gibt es etliche andere Faktoren, wie Invalidierung von Zeigern, Random-Access, die eine Containerwahl beeinflussen können. Das sollte man alles auch bedenken, bevor man voreilige Schlüsse zieht.Zitat von »"NachoMan"«
es geht ja nicht wirklich um die performance sondern darum, dass er sich angewöhnt sich immer die schnellste möglichkeit auszudenken. wenn die spiele nachher komplexer werden muss er das nicht erst neu lernen.
Zitat
was sehr langsam ist. warum verwendest du nicht list?
Zitat
dass er sich angewöhnt sich immer die schnellste möglichkeit auszudenken. wenn die spiele nachher komplexer werden muss er das nicht erst neu lernen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »E333« (02.09.2021, 13:02)
Werbeanzeige