Requirements on Key Type for Unordered Containers
By default, the unordered containers use the ==
operator on the key type to compare elements. They also use an object of type hash<key_type>
to generate the hash code for each element. The library supplies versions of the hash
template for the built-in types, including pointers. It also defines hash
for some of the library types, including string
s and the smart pointer types that we will describe in Chapter 12. Thus, we can directly define unordered containers whose key is one of the built-in types (including pointer types), or a string
, or a smart pointer.
However, we cannot directly define an unordered container that uses a our own class types for its key type. Unlike the containers, we cannot ...
Get C++ Primer, Fifth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.