C++中在一个向量映射中使用push_back()函数

8
我正在尝试动态向包含在映射中的向量中添加元素,以存储映射到不同ID的多个“Particle”对象数组。我对这门语言很陌生,所以我很难理解这是否只能使用迭代器来完成?在这种情况下,感觉有点大材小用。能否直接访问映射内部的向量?由于我可以通过键访问映射元素,并且因为每个键只有一个向量,所以似乎应该是可能的。我没有确切的代码示例,但它看起来会像这样:
int currentId = 1;  
map <int, vector<Particle> > particleMap;    
Particle p;  
particleMap[currentId] <access to vector somehow here?> push_back(p);

我相信我在这里错过了一些更大的概念,但我经常需要这种类型的数据结构,因此知道访问这些“表格”的正确方法将是很好的。

1个回答

20
particleMap[currentId].push_back(p);

会很好运行。

每个id只有一个vector,这就是你在使用 particleMap[currentId]时所指的内容。然后你可以按照写 myVector.push_back(p) 的方式继续表达式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接