Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » hash_compare

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.08.2008, 15:20 Uhr
banshee



hallöchen,

ich habe mal probiert diesen MSDN-Artikel zu verstehen:

http://msdn.microsoft.com/en-us/library/1s1byw77(VS.80).aspx

Allerdings kapier ich die ersten beiden Stichpunkte unter remarks einfach nicht. Entweder verstehe ich den Sinn des Satzes nicht oder da wird teilweise komisches Englisch benutzt.
Kann mir das jemand mal grob auf Deutsch erklären, was da drin steht oder gibts da irgendwie eine Übersetzung oder anderes gutes Material zu?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.08.2008, 16:29 Uhr
0xdeadbeef
Gott
(Operator)


1.

Zitat:

Für alle Werte _Key des Typs Key funktioniert der Aufruf hash_comp(_Key) als Hash-Funktion, deren Ergebnisse eine Verteilung von Werten des Typs size_t darstellen. Die von hash_compare bereitgestellte Funktion gibt _Key zurück.


So wie ich das verstehe, bedeutet das, der Klammeroperator mit einem Parameter ist eine Hash-Funktion, und in der bereitgestellten Implementierung ist das stumpf die Identität nach size_t gecastet.

2.

Zitat:

Für jeden Wert _Key1 des Typs Key, der in der Ordnung kleiner als _Key2 ist und den selben Hashwert hat (von der Hashfunktion zurückgegebenen Wert), ist hash_comp(_Key1, _Key2) falsch. Die Funktion muss eine totale Ordnung über Werten des Typs Key sein. Die von hash_compare bereitgestellte Funktion gibt comp(_Key1, _Key2) zurück, wobei comp ein gespeichertes Objekt vom Typ Traits ist, das bei der Erstellung von hash_comp angegeben werden kann. Bei der Benutzung des Vorgabetyps less<Key> verlieren Sortierschlüssel nie an Wert.


Der letzte Satz ist etwas schwer zu übersetzen, was damit gemeint ist, wenn ich das richtig lese, dass hash_compare mit less<Key> als traits bei Werten, die den gleichen Hash-Wert haben, immer falsch zurückgeben wird. Das heißt, wenn _Key1 == _Key2, dann ist hash_comp(_Key1, _Key2) == hash_comp(_Key2, _Key1) == false.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: