C++11

// <unordered_set>
template < class Key,
    class Hash = hash<Key>,
    class Pred = equal_to<Key>,
    class Alloc = allocator< pair<const Key,T> >
> class unordered_multiset;

无序多键集合(Unordered Multiset)容器是一个存储无特别次序关系的元素的关联容器(Associative container),允许基于值地快速元素检索。该容器跟 unordered_set 容器非常相似,除了 unordered_multiset 允许不同的元素可以拥有相等的值。

An unordered_multiset is an unordered associative container that supports equivalent keys (an instance of unordered_multiset may contain multiple copies of the same key value) and in which each element’s key is the element itself.

C++编程语言国际标准:ISO/IEC 14882:2011

容器特性

关联(Associative)

关联容器中的元素是通过主键(Key)而不是它们在容器中的绝对位置来引用的。

无序(Unordered)

无序容器通过 hash 表来组织它们的元素,允许通过主键快速地访问元素。

集合(Set)

元素的值同时可以用来标志对应的元素。

多等价键(Multiple equivalent keys)

容器中可以存在多个有等价(Equivalent)主键的元素。

能够感知内存分配器的(Allocator-aware)

容器使用一个内存分配器对象来动态地处理它的存储需求。