【发布时间】:2013-09-21 05:27:17
【问题描述】:
在 c++“标准库”中,是否有任何“关联”(即“键值”)容器/数据结构能够按插入顺序保持顺序?
我已经看到了几个关于此的主题,但是,似乎大多数在 C++11 之前。
有些人建议使用“boost::multi_index”,但如果可能的话,我会“宁愿”使用标准容器/结构。
我看到 C++11 有几个显然是“无序”的关联容器:link。
这些中的任何一个在某种程度上是“可配置的”,以便它们仅按插入顺序排序吗?
谢谢!
C
【问题讨论】:
-
只使用 unordered_map 和 vector 一起
-
您在寻找
std::vector< std::pair< K , V > >吗? -
所以你想要相当于 Java 的 LinkedHashMap?
-
@aaronman 仅在您不使用需要法线贴图界面的函数修改贴图时才有效。中间的移除也会慢很多,需要移动整个向量。如果两者都不是问题,那么当然。
-
我为此使用 boost::MultiIndex 并且效果很好。虽然在某些情况下我不想有额外的依赖。
标签: c++ c++11 stl containers