May 2017
Intermediate to advanced
590 pages
17h 18m
English
The standard library provides several unordered associative containers: std::unordered_set, std::unordered_multiset, std::unordered_map, and std::unordered_map. These containers do not store their elements in a particular order; instead, they are grouped in buckets. The bucket an element belongs to depends on the hash value of the element. These standard containers use, by default, the std::hash class template to compute the hash value. The specialization for all basic types and also some library types is available. However, for custom types, you must specialize the class template yourself. This recipe will show you how to do that and also explain how a good hash value can be computed.
Read now
Unlock full access