我想合并两个std::unordered_map
:mapA
并且mapB
,mapA
如果两个地图包含相同的密钥,则保持项目的优先级.
是否有一种优雅的方式(而不是验证每个键..我的地图包含大量元素)?
例:
mapA = {{"sugar",0.1},{"salt",0.2}} mapB = {{"sugar",0.3},{"pepper",0.4}}
我想要的结果是:
result = {{"sugar",0.1},{"salt",0.2},{"pepper",0.4}}
忽略{"sugar",0.3}
来自的键值mapB
谢谢.
绝对:
auto result = mapA; result.insert(mapB.begin(), mapB.end());
该insert
成员函数unordered_map
做什么,如果钥匙已经在容器内的存在.
演示.