Multiset(下)——Boost中的bimap和multiset_of

本文介绍了Boost库中的bimap和multiset_of,它们可以创建允许重复键值的双向映射。通过示例解释了如何使用bimap< multiset_of<X>, Y >和bimap< multiset_of<X>, multiset_of<Y> >来实现商店与城市之间的查询系统,以解决城市内商店可能存在的重复问题。示例中展示了如何插入记录以及查询特定商店所在的城市和某个城市内的商店数量。" 107664870,9929864,C语言入门:递归实现阶乘计算,"['C语言', '递归算法', '编程基础', '算法实现']

  理解了std::multiset之后,理解boost::bimap和boost::bimap::multiset_of就不在话下了。不过在此之前,最好还是先了解下std::multimap:

 

  http://blog.csdn.net/believefym/article/details/1627874

  http://www.cplusplus.com/reference/map/multimap/

 

  当bimap和multiset_of结合使用时,取得的效果其实就类似multimap。当我们定义了一个双向映射类型bimap<X, Y>时,该映射中的左键X和右键Y都必须是唯一的。如果把映射类型改为bimap< multiset_of<X>, Y >,那么左键X就允许出现重复值,左键集合就是一个多重集合(multiset)。如果再把类型改为bimap< multiset_of<X>, multiset_of<Y> >那么右键Y也允许出现重复值了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值