【发布时间】:2008-10-29 18:11:42
【问题描述】:
Multimap 本质上具有按键排序的数据组。我想要一种方法,通过它我可以访问这些单独的组并获取它们的汇总值。
例如,在 std::multimap< string, int > 我存储
{"Group1", 1},
{"Group1", 2},
{"Group1", 3},
{"Group2", 10},
{"Group2", 11},
{"Group2", 12}
存储了这些值后,我应该能够迭代这个多图并获得每个“组”的聚合值。问题是在 STL 中没有定义任何函数来以这种方式访问 MultiMaps。我可以使用lower_bound、upper_bound 手动迭代多图并汇总组的内容,但我希望在 STL 中已经定义了更好的方法?任何人都可以提出一个解决方案,说明我如何在上面的示例中获取组的聚合值。
【问题讨论】:
-
这里描述的非常优雅的 lambda 方法:stackoverflow.com/a/37680747/5516759