我对 STL 不太熟悉,所以我不确定这里的最佳方法。
我有一组动作,每个动作都与一个唯一的 ID 相关联。为了确保我不会重复这些操作,我最初想将它们存储在一个std::map
, 键入 ID 中。但是,我需要在内部保留严格的顺序 la std::vector
,这样当我展开我的操作时,它们会以添加时的相反顺序出现。
任何给定的操作列表可以是从一两个项目到数千个项目的任何地方。如果我切换到手动检查vector
重复项(即遍历和检查 ID),我会丢失任何东西吗?或者是否有某种形式的map
容器或其他容器可以让我按 ID 查找,但不会在内部对元素进行排序或重新排序?