Assioziative Arrays
-
Zu dem mit PHP:
Das is mir neu, aber man lernt ja nie aus^^Zum Code:
Also so versteh ichs jetzt auch, aber das erste Beispiel (von wem auch immer) war irgendwie komplizierter.
-
In dem Borland C++ Builder funktioniert das aber nicht, deswegen hatte ich das hier ja auch eigentlich ins vcl Forum geschrieben...
-
Don06 schrieb:
Also um einen Standard-Container an Schnelligkeit und Sicherheit zu übertreffen muss man sich schon anstrengen ;).
Wenn dir in einer std::map die Zugriffszeit von O(log n) zu langsam ist, kannst du ja ne Hash-Map nehmen. Die gibts im TR1. Wenn dein Compiler das unterstützt, findest du std::tr1::unordered_map in <unordered_map>. Wenn alles klappt hast du da konstante Zugriffszeit, fast so wie in einem Array :xmas2:
Gruß
Don06Was ist mit std::hash_map?
-
Das ist höchstens eine Erweiterung, gehört auf jeden Fall nicht zum Standard.
-
std::hash_map ist eine Microsoft-Erweiterung. Leider unterstützt auch der neue C++-Kompiler von Microsoft (2008) imho nicht den TR1, also muss man da auf Erweiterungen setzen. Wird hoffentlich nachgebessert.
Gruß
Don06
-
Hallo
Jakel schrieb:
In dem Borland C++ Builder funktioniert das aber nicht, deswegen hatte ich das hier ja auch eigentlich ins vcl Forum geschrieben...
Ich weiß ja nicht welchen Code, welche BCB-Version du benutzt oder w3as genau du unter "funktioniert nicht" meinst, aber auf meinem alten BCB5 funktioniert std::map mit dem gezeigten Code selbstverständlich korrekt.
bis bald
akari
-
Don06 schrieb:
std::hash_map ist eine Microsoft-Erweiterung.
heißt die nicht stdext::hash_map?
-
Don06 schrieb:
std::hash_map ist eine Microsoft-Erweiterung. Leider unterstützt auch der neue C++-Kompiler von Microsoft (2008) imho nicht den TR1, also muss man da auf Erweiterungen setzen. Wird hoffentlich nachgebessert.
Gruß
Don06TR1 unterstützung wurde zumindest für VC++9 (VS2008) angekündigt. Vorallem das dies auch mitgeliefert werden soll. Im letzten Download bei meiner MSDN Subscription war es aber nicht enthalten, daher bin ich da echt noch gespannt.
BR
Vinzenz