Table of Contents

TD4a - Partie 2 - Les fonctions anonymes

Nous nous intéressons à la fonction de recherche que nous avons réalisé dans le TD de la semaine dernière :

template<class inputIterator, class T>
inputIterator _find(inputIterator first, inputIterator last, T theValue)
{
    while(first != last)
    {
        if (*first == theValue)
            return first;
        first++;
    }
    return last;
}

Nous souhaitons ne plus rechercher un élément T the Value mais rechercher le premier élément qui vérifie une condition. Cette condition s'exprime comme un prédicat, prenant un argument de T et retournant une valeur true si la la condition est vérifiée, false si la valeur n'est pas vérifiée.

Question n° 1

Modifier la fonction précédent pour prendre comme dernier argument correspondant à un prédicat unaire (ie. une condition).

Question n° 2

Nous considérons le tableau suivant :

  std::vector<int> vec = {1, 4, 3, 8, 2, 7, 5, 9, 6 };

Tester votre nouvelle fonction en définissant une condition qui vous permette le premier élément qui est supérieur à la value moyenne des éléments dans le tableau.

Liens vers les éléments syntaxiques C++

Les fonctions anonymes en C++

Première partie