我正在将值插入向量中:
vector<map<vector<string> , vector<string> > > listedParameterMap;
listedParameterMap.insert(listedParameterMap.end(), 1, parameterMap);
如果稍后检查向量,则反转顺序。 我错过了什么吗?
修改
我想它可能在其他地方......我只是有个主意。但我明天会试试。
我今天几乎已经使用我的代码至少有一个脑堆栈溢出;)
无论如何,谢谢大家的帮助。我会告诉你是否有变化!
EDIT2:
似乎错误是在其他地方。我只能看到它发生的地方,但直到现在还没有原因。在地图应该只填充一次的点上,它会被填充两次。
由于某种原因,每次只对特定值。这就是为什么它看起来像是倒置了
如果我需要帮助,我会打开一个新问题。
谢谢大家!
更新
现在矢量还可以。发现了问题。自己代码的盲目性;)
它不会影响我的程序我的地图是倒置的 我刚刚创建了一个新的地图插入然后打印了这些值,然后按预期工作。
答案 0 :(得分:7)
你为什么不写简单:
listedParameterMap.push_back(parameterMap);
它比您在帖子中所做的更简单。
答案 1 :(得分:2)
我无法理解您的示例代码,但如果您想按顺序将项目插入到矢量中,通常需要使用push_back
。对于一个简单的例子:
std::vector<int> numbers;
for (int i=0; i<10; i++)
numbers.push_back(i);
这些数字现在应按顺序排列,如:(1 2 3 4 5 6 7 8 9 10)。
答案 2 :(得分:0)
我真的不认为你想做一个使用矢量作为关键的地图,对吗?这有点像你有更重要的设计问题。
至于以已知(和预先存储的顺序)向向量添加内容,请使用push_back()。