Nous considérons la fonction find
définie dans la première partie du TD :
template<class T> T find(const T* theArray, int theArrayLength, T theValue) { for(int index = 0; index < theArrayLength; index ++) { if(theArray[index] == theValue) return index; } return -1; }
Pouvez-vous la réécrire pour qu'elle fonctionne désormais avec des itérateurs, cette fonction devra avoir l'en-tête suivante :
template<class inputIterator> inputIterator find(inputIterator first, inputIterator last, T theValue)
Nous souhaitons utiliser la fonction précédente pour tester si l'élément 5 est dans le vecteur suivant :
#include<vector> std::vector<int> vec = {3, 4, 8, 2, 4, 1 };
Ecrivez le code qui fait l'opération et déterminer si l'élément est présent ou n'est pas présent dans le vecteur.
''part3.cpp'' Fichier principal contient les fonctions de test et le main.
''find.h'' Définition de la fonction de recherche fonctionnant avec des itérateurs.