我正在向一个 vector 中插入值:
vector<map<vector<string> , vector<string> > > listedParameterMap;
像这样:
listedParameterMap.insert(listedParameterMap.end(), 1, parameterMap);
如果我稍后检查 vector ,顺序就会颠倒。 我错过了什么吗?
编辑:
我想它可能在别的地方……我有个主意。但我明天会试试。
我今天几乎已经用我的代码至少有一个 brain-stackoverflow ;)
无论如何,谢谢大家的帮助。如果有什么变化我会告诉你!
编辑 2:
似乎错误在其他地方。我只是可以看到它发生的地方,但直到现在还不知道为什么。在 map 应该只填充一次的点上,它被填充了两次。
出于某种原因每次只对一个特定的值。这就是为什么看起来值是倒置的。
如果我需要帮助,我会提出一个新问题。
感谢大家!
更新:
vector 现在可以了。发现了问题。自己的代码失明 ;)
它不影响我的程序,我的 map 是倒置的。
我刚刚创建了一个新 map 插入然后打印值,然后按预期工作。
最佳答案
你为什么不直接写:
listedParameterMap.push_back(parameterMap);
它的界面比您在帖子中所做的要简单。
关于c++ - vector 值不按插入顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4818424/