首页 > 解决方案 > 如何在 C++ 中的 2d 哈希表中查找值

问题描述

我有这个 2d hashable :

map<char, map<string, string>> hashtable;

我想检查这个值是否存在: hashtable['a']["Sa"] 存在与否。怎么做?

谢谢你。

标签: c++hashmapiteratorhashtable

解决方案


首先,您必须检查是否hashtable['a']存在,然后检索地图的第二个元素,然后检查下一个元素。

auto it = hashtable.find('a');
if (it != hashtable.end()) {
    auto it2 = it->second.find("Sa");
    if(it2 != it->second.end()) {
        return true;
    }
    return false;
}
return false;

find()如果元素不存在,该方法返回一个等于映射结尾的迭代器。


推荐阅读