garantiert der Standard, dass die Standardbibliothek STD :: Hash Spezialisierungen identische Hashes für Werte erzeugt, die gleich vergleichen, auch wenn sie unterschiedliche Typen sind? Würden beispielsweise die folgenden zwei immer den gleichen Wert erzeugen? < /P>
Code: Select all
std::hash{}(1);
std::hash{}(1);
< /code>
Der Kontext für meine Frage lautet: Ich verwende eine Hash -Klasse, die eine transparente Suche nach isomorphen Tupeltypen ermöglicht, beispielsweise bei einer nicht ordnungsgemäßen Stelle wie folgt: < /p>
std::unordered_map
Ich kann mit einem std :: tuple nachdenken. Die Implementierung verwendet nur STD :: Hash für jedes Element und kombiniert die Hashes miteinander. In diesem Fall, wenn mir ein std :: tuple erhalten wird, frage ich>