Evitar la construcción de claves para std :: map :: find ()

Supongamos que tengo unstd::map<std::string, int>. std::string se puede comparar con las cadenas C (const char *) sinstd::string temporarios Sin embargo,map::find() Parece forzarme a construir un temporal.std::string, lo que probablemente requiere una asignación de memoria. ¿Cómo evito esto? Conceptualmente es fácil, pero el STL parece prevenir esto.

<code>#include <map>

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta