Fireball89
Captain
- Registriert
- Aug. 2007
- Beiträge
- 3.498
Hallo,
ich versuche mich zur Zeit etwas an MS Visual C++ und komme nicht weiter.
Ich brauche eine Datenstruktur, die man schnell durchlaufen kann und in einer Schleife jedes Element "anfassen" kann, ohne die Datenstruktur zu ändern.
Und zwar möchte ich Objekte meiner eigenen Klasse in dieser DS unterbringen. Jedes Objekt hat eine einzigartige Bitmaske (32bit WORD) als Attribut, anhand der ich das Objekt in der DS finden möchte.
Erste Idee: HashMap (std::map). Problem: Suche ich nach einer Bitmaske zu der kein Objekt abgelegt wurde, laufe ich in undefinierte Speicherbereiche.
Also müsste ich ja quasi für jeden möglichen Schlüssel, einmal das passende Null-Objekt ablegen, um den Fall abzufangen. Das möchte ich bei 2^32 verschiedenen Schlüsseln (Bitmasken) gerne verhindern!
Zwei Idee: Ein simpler Binärbaum. Leider hab ich mich dumm und dämlich gesucht, aber es scheint dafür kein Template in der STL zu geben. Hab jetzt auch keine List für sowas banales ne eigene Klasse zu schreiben.
Was soll ich tun?
ich versuche mich zur Zeit etwas an MS Visual C++ und komme nicht weiter.
Ich brauche eine Datenstruktur, die man schnell durchlaufen kann und in einer Schleife jedes Element "anfassen" kann, ohne die Datenstruktur zu ändern.
Und zwar möchte ich Objekte meiner eigenen Klasse in dieser DS unterbringen. Jedes Objekt hat eine einzigartige Bitmaske (32bit WORD) als Attribut, anhand der ich das Objekt in der DS finden möchte.
Erste Idee: HashMap (std::map). Problem: Suche ich nach einer Bitmaske zu der kein Objekt abgelegt wurde, laufe ich in undefinierte Speicherbereiche.
Code:
return myMap[bitmask];
Zwei Idee: Ein simpler Binärbaum. Leider hab ich mich dumm und dämlich gesucht, aber es scheint dafür kein Template in der STL zu geben. Hab jetzt auch keine List für sowas banales ne eigene Klasse zu schreiben.
Was soll ich tun?