C++ 在boost::无序映射中将多个值映射到单个键?

C++ 在boost::无序映射中将多个值映射到单个键?,c++,boost,unordered-map,C++,Boost,Unordered Map,我看不到一种将多个值映射到一个键的方法。我的地图声明为: boost::unordered_map< uint16_t, Myclass* > myMap_; 返回:返回当前最大负载系数 void max_load_factor(float z); 效果:使用z作为提示更改容器的最大负载因子 size_type bucket_size(size_type n) const; 需要:n

我看不到一种将多个值映射到一个键的方法。我的地图声明为:

boost::unordered_map< uint16_t, Myclass* > myMap_;
返回:返回当前最大负载系数

void max_load_factor(float z);
效果:使用z作为提示更改容器的最大负载因子

size_type bucket_size(size_type n) const;
需要:n
我知道我可以用多重地图

typedef boost::unordered_multimap< int, MyClass*, MyHash<int> > HashMMap;
typedef boost::无序的多映射HashMMap;
然而,我想知道,如果使用无序_映射,单个键是否可能有多个值。

来自C++11§23.2.5无序关联容器

无序关联容器支持唯一键(如果每个键最多包含一个元素)。否则,它支持等效密钥
unordered_set
unordered_map
支持唯一键
unordered_multiset
unordered_multimap
支持等效键


如果需要多个值,则需要使用多重映射(C++11或来自boost),或者存储一个容器作为值。普通的
无序的\u映射
不会这样做。

那么您想使用吗?(或者更好的是,如果编译器在语义上支持C++11,
无序映射
将一个键映射到一个值。听起来您需要一个
unordered\u multimap
bucket\u size()
max\u load\u factor()
反映数据在内部的散列方式。它与一个键关联的值的数量无关。
size_type bucket_size(size_type n) const;
typedef boost::unordered_multimap< int, MyClass*, MyHash<int> > HashMMap;