Evitando a construção de chaves para std :: map :: find ()

Suponha que eu tenha umstd::map<std::string, int>. std::string pode ser comparado com strings C (const char *) semstd::string temporárias. Contudo,map::find() parece me forçar a construir um temporáriostd::string, o que provavelmente requer uma alocação de memória. Como evito isso? Conceitualmente, é fácil, mas o STL parece impedir isso.

<code>#include <map>

int main()
{
    std::map<std::string, int> m;
    m.find("Olaf");
}
</code>

questionAnswers(4)

yourAnswerToTheQuestion