std::hash
De cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody> template<class T, class Deleter> struct hash<unique_ptr<T, Deleter>>; |
(depuis C++11) | |
La spécialisation de template de std::hash pour
std::unique_ptr<T, Deleter> permet aux utilisateurs d'obtenir des hachages d'objets de std::unique_ptr<T, Deleter> type .Original:
The template specialization of std::hash for
std::unique_ptr<T, Deleter> allows users to obtain hashes of objects of type std::unique_ptr<T, Deleter>.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Pour une
std::unique_ptr<T, Deleter> p donné, cette spécialisation garantit que std::hash<std::unique_ptr<T, Deleter>>()(p) == std::hash<T*>()(p.get()) .Original:
For a given
std::unique_ptr<T, Deleter> p, this specialization ensures that std::hash<std::unique_ptr<T, Deleter>>()(p) == std::hash<T*>()(p.get()).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Exemple
#include <iostream>
#include <memory>
#include <functional>
struct Foo {
Foo() { std::cout << "Foo...\n"; }
~Foo() { std::cout << "~Foo...\n\n"; }
};
int main()
{
Foo* foo = new Foo();
std::unique_ptr<Foo> up(foo);
std::cout << "hash(up): " << std::hash<std::unique_ptr<Foo>>()(up) << '\n';
std::cout << "hash(foo): " << std::hash<Foo*>()(foo) << '\n';
}
Résultat :
Foo...
hash(up): 3686401041
hash(foo): 3686401041
~Foo...
Voir aussi
(C++11) |
hash function object (classe générique) |