保持插入顺序的C + 11关联容器?

Chr*_*isC 7 c++ containers stl c++11

在c ++"标准库"中,是否存在任何"关联"(即"键值")容器/数据结构,它具有按插入顺序保存顺序的能力?

我已经看到了几个这方面的主题,但似乎,大多数在C++ 11之前.

有人建议使用"boost :: multi_index",但是,如果可能的话,我会"宁愿"使用标准的容器/结构.

我看到C++ 11有几个显然是"无序"的关联容器:link.

通过某种方式,这些中的任何一个是"可配置的",这样它们只能按插入顺序排序吗?

谢谢!

C

Ed *_*eal 3

不。

您将线性访问与随机访问混合在一起。不是很好的床友。

只需使用向量/列表(即插入顺序)以及使用前者索引的映射即可。

  • 他们是非常好的同床异梦,非常高兴在需要的时候拥有这样的容器,并且拥有这样的容器在实现方面也是微不足道的。如果 C++ 没有的话,我会有点惊讶。示例:http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html (3认同)