gpt4 book ai didi

c++ - 检查 map 是否包含来自另一个 map 的所有键

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:08 25 4
gpt4 key购买 nike

Check if map in C++ contains all the keys from another map回答了我的问题,但我不确定我们如何同时遍历两个 map 。

我知道如何迭代一个,如下所示:

typedef std::map<QString, PropertyData> TagData;
TagData original = readFileToMap("FoxHud.bak");

for (TagData::const_iterator tagIterator = original.begin(); tagIterator != original.end(); tagIterator++) {
}

最佳答案

试试这个方法:

// As std::map keys are sorted, we can do:

typedef std::map<string, int> TagData;
TagData map1;
TagData map2;
...
TagData::const_iterator map1It = map1.begin();
TagData::const_iterator map2It = map2.begin();

bool ok = true;
std::size_t cnt = 0;

while (map2It != map2.end() && map1It != map1.end()) {
if (map1It->first != map2It->first) {
map1It++;
} else {
map2It++;
cnt++;
}
}

if (cnt != map2.size()) ok = false;

cout << "OK = " << ok << endl;

这也适用于大小不同的 map 。

关于c++ - 检查 map 是否包含来自另一个 map 的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com