簡體   English   中英

c ++ push_back()在向量映射中

[英]c++ push_back() inside a map of vectors

我正在嘗試動態地將元素添加到地圖中包含的向量中,以存儲映射到不同ID的多個“粒子”對象數組。 我是語言的新手,所以我很難理解這是否只能用迭代器來完成? 在這種情況下,感覺有點矯枉過正。 是否可以直接訪問地圖中的矢量? 因為我可以按鍵訪問地圖元素,並且因為每個鍵只有一個向量,所以看起來它應該是可能的。 我沒有確切的代碼作為示例,但它看起來像這樣:

int currentId = 1;  
map <int, vector<Particle> > particleMap;    
Particle p;  
particleMap[currentId] <access to vector somehow here?> push_back(p);

我確信我在這里缺少一些更大的概念,但我發現自己需要這種類型的數據結構,所以知道訪問這些“表”的正確方法會很棒。

particleMap[currentId].push_back(p);

會工作得很好。

每個id只有一個vector ; 這就是你用particleMap[currentId]指的。 然后你就像繼續編寫myVector.push_back(p)一樣繼續表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM