Multimap a essentiellement des groupes de données triés par la clé. Je veux une méthode par laquelle je pourrais accéder à ces groupes individuels et obtenir leurs valeurs agrégées. Par exemple, dans un std::multimap< string, int >
je stockestl :: multimap - comment obtenir des groupes de données?
{"Group1", 1},
{"Group1", 2},
{"Group1", 3},
{"Group2", 10},
{"Group2", 11},
{"Group2", 12}
Après avoir stocké ces valeurs, je devrais pouvoir itérer ce multimap et obtenir les valeurs globales de chaque « groupe ». Le problème est qu'il n'y a pas de fonctions définies dans STL pour accéder à MultiMaps d'une telle manière. Je pourrais utiliser lower_bound
, upper_bound
pour itérer manuellement le multimap et totaliser le contenu du groupe, mais j'espère qu'il pourrait y avoir de meilleurs moyens déjà définis dans STL? Quelqu'un peut-il proposer une solution quant à la façon dont je pourrais obtenir les valeurs agrégées pour un groupe dans l'exemple ci-dessus.
Très élégant et Méthode lambda décrite ici: http://stackoverflow.com/a/37680747/5516759 –