我有这样的数据;
a - 5
b - 4
c - 3
d - 4
a - 7
b - 3
我像这样将数据插入到[[C ++中进行映射;
unordered_map<string, int> umap;
umap["a"] = 5;
umap["b"] = 4;
umap["c"] = 3;
umap["d"] = 4;
umap["a"] = 7;
umap["b"] = 3;
预期的输出;[我想在同一个键中添加值。
a - 12
b - 7
c - 3
d - 4
我该如何进行合并(我不确定这是不是真的单词)操作?
+=
而不是=
。首次使用[在地图上创建对象时umap["a"]
然后映射值初始化为零,因此映射包含
{{"a", 0}}
然后umap["a"] += 5
会给你
{{"a", 5}}
如果您随后进行了umap["a"] += 7;
,则地图将具有
{{"a", 12}}
对获得的所有元素执行此操作:
unordered_map<string, int> umap; umap["a"] += 5; umap["b"] += 4; umap["c"] += 3; umap["d"] += 4; umap["a"] += 7; umap["b"] += 3;
和地图将有
{{"a", 12}, {"b", 7}, {"c", 3}, {"d", 4}}