Localizando valores em C ++ Usando o Localizar Algorithm
A biblioteca padrão em C ++ contém uma série de funções para encontrar algo que você precisa dentro de um recipiente. Localizando o que você precisa de forma tão eficiente quanto possível, é sempre uma boa idéia. Ao contrário de seu armário, você quer que seus aplicativos bem organizado e fácil de gerir! Os quatro comum encontrar() algoritmos são
encontrar()
find_end ()
find_first_of ()
find_if ()
O algoritmo utiliza depende do que você deseja encontrar e onde você espera encontrá-lo. É provável que você usar a planície encontrar() algoritmo mais frequentemente. o FindString exemplo mostra como localizar um determinado corda dentro vetor - você pode usar a mesma abordagem para localizar algo em qualquer tipo de recipiente:
#incluir#incluir #incluir usando namespace std-int main () {vector Words-Words.push_back("Blue")-Words.push_back("Green")-Words.push_back("Teal")-Words.push_back("Brick")-Words.push_back("Purple")-Words.push_back("Brown")-Words.push_back("LightGray")-vector :: Resultado iterator = encontrar (Words.begin (), Words.end (), "LightGray") - if (! Resultado = Words.end ()) cout lt; lt; *Resultado lt; lt; endl-elsecout lt; lt; "Valor não encontrado!" lt; lt; endl-Result = encontrar (Words.begin (), Words.end (), "Black") - if (! Resultado = Words.end ()) cout lt; lt; *Resultado lt; lt; endl-elsecout lt; lt; "Valor não encontrado!" lt; lt; endl-}
O exemplo que se inicia com vetor contendo textos de cores. Em ambos os casos, o código tenta localizar dentro de uma determinada cor vetor. A primeira vez que o código é bem sucedido porque Cinza claro é uma das cores enumeradas no vetor. No entanto, a segunda tentativa é frustrada porque Preto não é uma das cores em vetor. Aqui está a saída deste exemplo:
LightGrayValue não encontrado!
Nunca assuma que o código vai encontrar um valor particular. Sempre assumir que alguém está indo para fornecer um valor que não existe e, em seguida, certifique-se de fornecer um meio de lidar com o valor inexistente. Neste exemplo, você simplesmente aparecer uma mensagem informando o valor não foi encontrado. No entanto, no código do mundo real, muitas vezes você tem que reagir a situações em que o valor não é encontrado por
Indicando uma condição de erro
Ao aumentar o valor para o contentor
Substituindo um valor padrão
Definir uma ação alternativa com base na entrada inválida
o encontrar() algoritmo é muito flexível. Você pode usá-lo para os requisitos externos e internos. Mesmo que o exemplo mostra como você pode localizar informações em um interno vetor, você também pode usar encontrar() para recipientes externos, como unidades de disco. Divirta-se com este - experiência com todos os recipientes que você encontrar.