本文是Devour Heavens撰写整理的关于C++标准库的知识,所有资料均来自于C++官方文档,欢迎转载。但是为了尊重原作者的劳动,请注明出处!谢谢!
class template
unordered_map
template < class Key, //unordered_map::key_type
class T, //unordered_map::mapped_type
class Hash = hash<Key>, // unordered_map::hasher
class Pred =equal_to<Key>, //unordered_map::key_equal
class Alloc = allocator<pair<const Key,T> > // unordered_map::allocator_type
> class unordered_map;
Unordered Map
哈希map是一种关联容器,通过键值和映射值存储元素。允许根据键值快速检索各个元素。
容器属性
关联
在关联容器的元素通过键值引用,而不是由他们在容器中的绝对位置。
无序
无序容器通过哈希表组织其元素的使用,允许通过键值快速访问其对应元素。
映射
每个元素关联到一键值对应一映射值:键值用于识别元素,其主要内容是键对应的值。
唯一键
在容器中没有两个元素可以有相同的键。
分配器的唤醒
容器使用一个分配器对象动态地处理其存储需求。
模板参数
Key
关键值的类型。一个unordered_map中的每个元素通过键值被唯一标识。
T
映射值的类型。 一个unordered_map中的每个元素是用来存储一些数据作为其映射值。别名为成员类型unordered_map:: mapped_type。请注意,这是和unordered_map:: value_type不同的(见下文)。
Hash