# std::hash(std::shared_ptr)

From cppreference.com
< cpp‎ | memory‎ | shared ptr

template<class T> struct hash<shared_ptr<T>>; |  | (since C++11)

The template specialization of std::hash for std::shared_ptr <T> allows users to obtain hashes of objects of type std::shared_ptr <T>.

For a given std::shared_ptr <T> p, this specialization ensures that

std::hash < std::shared_ptr <T>>()(p) == std::hash <T*>()(p.get()). | (until C++17)
std::hash < std::shared_ptr <T>>()(p) == std::hash <typename std::shared_ptr <T>::element_type*>()(p.get()). | (since C++17)

### Example

| This section is incomplete Reason: no example

### See also

hash (C++11) | hash function object (class template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/hash&oldid=90833"