将相同的键添加到低序映射
Add Same Key To Underordered Map
我有这样的数据;
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}}
相关文章:
- QT通过C++添加映射QML项目
- 添加静态constexpr成员是否会更改结构/类的内存映射
- 无法添加多个键以映射将结构作为键
- 添加要映射的对象的唯一指针
- 将相同的键添加到低序映射
- 在具有 std::p air 键和值的映射中添加 b2vec2
- 添加字符串向量和不同数据类型向量的映射
- 无法将元素添加到 STL 映射
- 将数据添加到现有类,而无需继承、映射或修改类
- C++静态初始化顺序:添加到映射中
- C++构造函数期间向映射添加"self"
- 如何在类中添加结构,结构的向量以映射
- 在向量上迭代,并添加迭代器实际指向的对象作为映射中的键
- 相同的密钥(使用malloc创建)添加了两次映射
- 添加多个元素以映射<pair> c++
- C++ - 使用 lambda 将映射添加到映射
- 向映射c++添加structs
- 向映射添加类
- 尝试向静态映射添加大量元素时出现段故障异常
- 如何为boost融合映射添加boost归档序列化支持