我不确定,如果这是发布此问题的正确位置。请让我知道,如果不是。比图更好的东西<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会有帮助吗? –