Potchi
Messages postés11Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention27 août 2004
-
26 août 2004 à 14:13
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 2004
-
27 août 2004 à 20:12
Bonjour,
Petit problème de débutant :
J'ai une structure style
typedef struct Distrib_Annuelle
{
int Année ;
int Compteur ;
}
J'ai déclaré une liste : list<Distrib_Annuelle> L1;
et un itérateur : list<Distrib_Annuelle>::iterator courant;
maintenant je voudrai effectuer une recherche portant sur le champ 'Année' avec la l'algo find() de la librairie STL ...
courant = find(L1.begin(),L1.end(),??? et là ????);
Y aurait-il kelk'un pour m'éclairer pleazz........
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 27 août 2004 à 16:49
les macros c'etait bon a l'epoque du c ansi ou inline n'existe pas
en c++ il est clair qu'il vaut mieux preferer une fonction inline rien que pour les controles statiques, surtout que coté optimisation c'est plus poussé car le code produit est plus coherent
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 27 août 2004 à 16:57
bah tt simplement kan je fais une classe generique, et ke je fais mes protos ds le .h, je met mes corps ds le hpp, et je vais pas me faire chier a taper template <typename truc> et encore moins template <typename truc> inline avant chaque fonction, dc je me retrouve avec 2 macros et je membrouille, dc vu ke tt est inline, plus de pbs....
Potchi
Messages postés11Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention27 août 2004 27 août 2004 à 17:12
X c'est une année , et je cherche à savoir si elle est dans la chaine...
et je voudrai ke l'itérateur s'arrête soit si C la fin de la chaine, soit si l'année est dansla chaine... C tout bête mais plante !!
while ((location != L1.end()))
++location; // ça marche
et
while ((location != L1.end()) || (location->Année != X))
++location; // ça marche plus !
j'imagine ke ça vient de ça : (location->Année != X) non ??
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 27 août 2004 à 17:20
la tu as dis je continue tant que location != L1.end() ou location->année != x, autrement dit tu tarrete si location == end() et location->annee == x.....normal que ca plante, ca veut dire que tu tarrete a la fin si le dernier element est x.....