std::find_if

Busca o primeiro elemento em um intervalo [first, last) que satisfaz um predicado especificado.

  • Cabeçalho: <algorithm>
  • Assinatura:
find_if(InputIt first, InputIt last, UnaryPredicate pred);
  • Parâmetros:
    • first, last - Iteradores que definem o intervalo de busca.
    • pred - Predicado unário que retorna true para o elemento desejado.
  • Retorno: Iterador para o primeiro elemento que satisfaz pred ou last se não encontrado.
  • Exceções: Nenhuma, a menos que o predicado pred lance.
  • Versão: C++98
  • Performance: O(N), onde N é o número de elementos no intervalo.
  • Exemplo:
#include <algorithm>
#include <vector>
#include <iostream>
int main() {
    std::vector<int> vec = {1, 3, 4, 6};
    auto it = std::find_if(vec.begin(), vec.end(), [](int x) { return x % 2 == 0; }); // Busca o primeiro número par
    if (it != vec.end()) std::cout << *it << '\n'; // Imprime: 4
    return 0;
}