我不確定,如果這是發佈此問題的正確位置。請讓我知道,如果不是。比圖更好的東西<string,map <string,vector>
我有一些'實體'。每個實體都有許多屬性(所有實體具有相同數量的屬性),這些屬性本身存儲爲數組(長度相同)。我希望以這種方式存儲'實體',以便我可以通過名稱獲取每個實體。
爲此,我應該使用map<string, entity>
來按名稱存儲每個實體。
現在的麻煩是,在這個需求(存儲多個實體)出現之前,我曾經將一個實體存儲爲map<string, vector>
,其中每個向量是一個屬性,字符串表示屬性名稱。
考慮到這一點map<string, entity>
現在變成: map<string, map<string, vector>
什麼是以前一個簡單而優雅的解決方案已經成爲難以閱讀和難以使用。
封裝
map<string, vector>
作爲一個實體類似乎走得太遠了漂亮的代碼的緣故(因爲我沒有任何程序放在類)。我會更好地使用實體作爲一個結構來「美化」代碼嗎?
還是有一個更簡單或更優雅的解決方案,我錯過了?
或者這個實現是我所希望的最好的嗎?
注:我正在處理一個相當大的數據集。地圖上將會有1500-2000個實體。每個實體將具有4-10個屬性。每個屬性將有近10000個值。性能是一個約束。
使用typedef? –
multimap代替映射如何 –
ST3
@ ST3 multimap是一個允許多個值針對單個鍵存儲的映射。對?在這種情況下multimap會有幫助嗎? –