Bonjour,
J'aimerais créer une fonction template prenant un iterator de début et un iterator de fin. Jusqu'a la rien de bien compliqué mais j'aimerais aussi pouvoir fournir en paramètre des pointeurs représentant un tableau.
Je m'explique:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template<typename iter> bool find(iter beg,iter end,int value) { //doit pouvoir fonctionner sur les vector entier, les set, ... return true; }Mais j'aimerais également pouvoir faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vector<int> tab1; bool b1=find(tab1.begin(),tab1.end(),5);
Comme cela ce fait avec les fonctions sort, random_suffle et autre de la STL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int tab2[]={2,3,4}; bool b2=find(tab2,tab2+3,5); //ne marche évidement pas: iter is anbiguous
A moins que je me plante et qu'il y ait plusieurs définition de std::sort (1 pour les std containers et 1 pour les tableaux) sinon quelque chose m'échappe.
Partager