Multimap基本上有按键排序的数据组。我想要一种方法,我可以访问这些单个组并获得它们的聚合值。 例如,在一个std::multimap< string, int >
我存储stl :: multimap - 我如何获得数据组?
{"Group1", 1},
{"Group1", 2},
{"Group1", 3},
{"Group2", 10},
{"Group2", 11},
{"Group2", 12}
具有存储这些值,我应该能够重复这种多重映射,并得到每一个“组”的合计值。问题是在STL中没有定义以这种方式访问MultiMaps的任何函数。我可以使用lower_bound
,upper_bound
来手动迭代multimap并总计组的内容,但我希望能在STL中定义更好的方法吗?任何人都可以提出一个解决方案,以了解如何在上面的示例中获得组的聚合值。
非常优雅和这里描述的lambda方法: http://stackoverflow.com/a/37680747/5516759 – 2016-06-07 13:29:40