valor @Checking existe em um std :: map - C ++
Eu seiencontra método @ localiza a chave fornecida emstd :: map e retorne um iterador para o elemento Existe alguma maneira de encontrar o valor e obter um iterador para o elemento? O que eu preciso fazer é verificar se o valor especificado existe no std :: map. Eu fiz isso fazendo um loop de todos os itens no mapa e comparando. Mas eu queria saber se existe uma abordagem melhor para iss
Aqui está o que eu escrevi
bool ContainsValue(Type_ value)
{
bool found = false;
Map_::iterator it = internalMap.begin(); // internalMap is std::map
while(it != internalMap.end())
{
found = (it->second == value);
if(found)
break;
++it;
}
return found;
}
Edita
Que tal usar outro mapa internamente que armazene valor e combinação de teclas. Então eu posso ligar para encontrar nele? Éencontrar( in std :: map fazendo pesquisa seqüencial?
Obrigad