c – 合并两个带有重叠键的unordered_maps

前端之家收集整理的这篇文章主要介绍了c – 合并两个带有重叠键的unordered_maps前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想合并两个std :: unordered_map:mapA和mapB,同时保持mapA中项目的优先级,如果两个映射包含相同的键.

是否有一种优雅的方式(而不是验证每个键..我的地图包含大量元素)?

例:

mapA = {{"sugar",0.1},{"salt",0.2}}
mapB = {{"sugar",0.3},{"pepper",0.4}}

我想要的结果是:

result = {{"sugar",0.2},0.4}}

忽略mapB中的键值{“sugar”,0.3}

谢谢.

解决方法

绝对:
auto result = mapA;
result.insert(mapB.begin(),mapB.end());

如果密钥已存在于容器中,则unordered_map的insert成员函数不执行任何操作.

Demo.

原文链接:https://www.f2er.com/c/117231.html

猜你在找的C&C++相关文章