如何优化unordered_map查找?

Kai*_*zay 1 c++ unordered-map

似乎我的程序性能受到以下功能的瓶颈:

inline bool isKeyInMap(const std::string key, std::unordered_map<std::string, MyClass>map)
{
    auto t = map.find(key);
    if (t == map.end()) return false;
    return true;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法加快速度?

编辑:代码是一个更大的功能的一部分.传递价值不是故意的 - 我写了上面的一个删除任何与瓶颈无关的代码.我试图看看是否有更快的方法来执行以下操作:

auto t = map.find(key);
if (t == map.end()) return false;
return true;
Run Code Online (Sandbox Code Playgroud)

如果我和其他人一样好的C++程序员,我不会在这里发布.XD

Ker*_* SB 6

通过引用传递参数,而不是通过值:

bool isKeyInMap(const std::string & key,
                const std::unordered_map<std::string, MyClass> & m)
{
    return m.find(key) != m.end();
}
Run Code Online (Sandbox Code Playgroud)

否则,每次进行查询时,最终都会复制所有内容.