如何在 C++ 中的二维哈希表中查找值

How to find a value in a 2d hashtable in C++

我有这个 2d 哈希表:

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

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

谢谢。

首先你必须检查 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() returns 如果元素不存在,迭代器等于映射的末尾。