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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

30.10.2015, 16:45

Naja, ein std::vector ist kein assoziativer Container, man müsste also erst selbst eine Hashtable oder sowas auf dem vector implementieren. Ich würde wohl einfach zu std::unordered_map greifen, eine volle std::map braucht man in der Tat fast nie...

12

30.10.2015, 18:18

Ich mag es überlesen haben, aber bislang ist mir nicht aufgefallen, dass das Attribut UnorderedAssociativeContainer benötigt wird.
Muss man natürlich persönlich abwägen, wie wichtig das wirklich ist. ^^

MfG
Check

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

30.10.2015, 19:15

Naja, soweit ich das verstanden hab, ging Skratti davon aus, dass der eigentliche Grund, wieso der Threadersteller meint, dieses Array zu brauchen, der ist, dass er eine Art Map bauen will, die 42-Bit Zahlen auf long int mapped. Das ist imo sogar eine ziemlich gute Theorie. Je nachdem, wie viele Elemente in dem Container zu erwarten sind, würde man dafür dann wohl (wie von dir auch vorgeschlagen) am besten einen std::vector (für < 1000 Elemente oder so) oder eine Hashtable (std::unordered_map) verwenden. Die Möglichkeit, in sortierter Reihenfolge durch den Container zu iterieren (und damit std::map), braucht man ziemlich selten. So lange es nur um key-value-lookup geht, ist std::unordered_map daher in der Regel besser (weil sehr viel schneller)...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (30.10.2015, 19:27)


14

30.10.2015, 19:18

Über die Schnelligkeit brauchen wir nicht zu streiten. :)
Vielen Dank, da habe ich wirklich zu kurz gedacht.

MfG
Check

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

30.10.2015, 19:22

Vielen Dank, da habe ich wirklich zu kurz gedacht.

Ich war auch erstmal ziemlich verwirrt wieso da jemand einfach so ohne weiteres auf einmal von std::map zu reden anfängt. Und genaugenommen ist das alles auch nur mein Postulat der Existenz einer Theorie über die möglichen Umständen, die vielleicht Ursache der vermeintlichen Probleme gewesen sein könnten, die den Fragesteller dazu bewegt haben, gegebene Frage hier zu stellen... ;)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (30.10.2015, 19:30)


eisenmad

Treue Seele

  • »eisenmad« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Heute hier, morgen dort

Beruf: Denker

  • Private Nachricht senden

16

30.10.2015, 19:50

der Threadersteller meint, dieses Array zu brauchen, der ist, dass er eine Art Map bauen will, die 42-Bit Zahlen auf long int mapped.


Ich brauche das nicht. Das ist nur die Neugierde die mich leitet.

Finde ich aber sehr schön was nun alles geantwortet wird. Da kann ich C++ Noob dazu lernen :)

17

30.10.2015, 19:54

Bisschen OT:
Dann wird dich sicherlich die cppcon interessieren. ;)
Gibt viele Vorträge auf Youtube, die dir ganz sicher viele interessante Dinge vermitteln.

MfG
Check

Werbeanzeige