我想要类似于 map 的东西,但在迭代时我希望它们的顺序与添加的顺序相同。
例子
map.insert("one", 1);
map.insert("two", 2);
map.insert("three", 3);
在迭代时,我希望项目像“一”、“二”、“三”一样。默认情况下, map 不提供这种添加顺序。如何按照我添加的方式获取 map 元素?我想保留广告订单。
任何带有 STL 的东西都可以,或者其他替代建议也可以。
最佳答案
A std::map that keep track of the order of insertion? 这是一个拷贝(感谢 neil butterworth)
您可以使用具有与其并行的排序结构的映射。
map<key, value>
vector<value*> //holds only pointers to map entries.
vector<key> //holds only map keys. Adds one indirection.
关于带有附加顺序的 C++ 字典/ map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2551905/