Din*_*aiz 5 c++ containers boost stl
我想知道一个类似队列的容器,但它具有密钥访问权限,就像地图一样.我的目标很简单:我想要一个FIFO队列,但是,如果我插入一个元素并且一个给定键的元素已经在队列中,我希望它新的元素替换已经在队列中的元素.例如,按插入时间排序的地图将起作用.
如果没有这样的容器,你认为它可以通过同时使用队列和地图来实现吗?
Boost multi-index提供了这种容器。
为了自己实现它,我可能会选择一个map其值由链表节点和有效负载组成的。列表节点可以是手动滚动的,也可以是Boost 侵入式的。
请注意,适配器的要点queue是隐藏 Sequence 的大部分界面,但您想弄乱它隐藏的细节。所以我认为你应该致力于重现 的界面queue(稍微修改一下你改变的语义push)而不是实际使用它。