Problème d'itérateur sur une structure

Potchi Messages postés 11 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 août 2004 - 26 août 2004 à 14:13
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 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........

Merci >>>

78 réponses

Potchi Messages postés 11 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 27 août 2004
27 août 2004 à 15:43
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 15:52
class Stats
{
public:
// Déclaration des méthodes...

bool operator != (const Distrib_Annuelle& )const;
bool operator == (const Distrib_Annuelle& )const;

struct Distrib_Annuelle
{
int Année ;
int Compteur ;

bool operator == (const Distrib_Annuelle & a)const
{return (Année a.Année && Compteur a.Compteur);
}

bool operator != (const Distrib_Annuelle & a)const
{
return !( *this == a );
}

};

Distrib_Annuelle StructTemp;

list<Distrib_Annuelle> L1;
list<Distrib_Annuelle>::iterator location;

private etc...
}
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 15:56
si tu fais ca djl, met au moins le == en inline.................tant qu'a faire le != aussi, mais le == va etre appelé, et t'ouvre la fonction....donc l'execution de (Stats1 != Stats2) sera plus longue que !(Stats1 == Stats2)......pas tres tres logique. ok cest pas grd chose, mais bon....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:01
mais c'est deja inline cu que c'est definie dans le corps de la classe ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:12
par contre j'ai recopié betement certain truc

bool operator != (const Distrib_Annuelle& )const;
bool operator == (const Distrib_Annuelle& )const

je vois pas ce que ces operateurs font comme membres de la classe Stats
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:17
c pas faux pr les opérateurs. et t'es sur ke kan c'est une fonction ds le corps de la classe elle est inline? moi chui pas convaincu....j'ai toujours mis des inline ds mes fonctions membres qui en avaient besoin....ou alors tu voulais dire "ds le != la == devient inline vu ke ces deux fonction dont ds la meme classe"? enfin meme, ds ce cas la jetais pas au courant
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:26
si c'est vrai, c'est ecris dans le standard et j'ai verifier
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 16:26
si C ds le header(ou le seul srce...), ou se trouve ta classe que tu met ta fonc

L sera automatiquement inline.... tant que C défini au sein de la classe

sinon, comme G dit & en spécifiant inline

ça compile effectivt mm si C mis inutillt

++
Magic Nono: l'informagicien! 8-)
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:27
tu peux me passer le lien stp djl? pas ke je remette ta parole en doute lol, juste pr voir ski est ecrit
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 16:29
ref:
Barjne Stroustrup

Le Langage C++ 4e Ed. - Bjarne Stroustrup,AT&T - PearsonEdition 2002

Magic Nono: l'informagicien! 8-)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:30
une fonction inline doit toujours etre dans un header, si c'est à l'exterieur de la classe elle doit etre explicitement inline, sinon c'est implicite
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 16:30
C un des peres du C++...
Un grd ponte

Magic Nono: l'informagicien! 8-)
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:32
putain je savais pas (pas pr bjarne, qui ne connait pas bjarne :D???)....donc des ke t'ecris une classe, toutes ses fonctions membres sont inline? en francais c'est bien ce que ca veut dire? bon a savoir ca, ca m'eviteras d'écrire inline ou de créer encore des macros.....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:32
leprov > comme magic_Nono, le stroustrup est la reference

sinon sur le web

"Lorsque les fonctions membres d'une classe sont définies dans la déclaration de cette classe, le compilateur les implémente en inline (à moins qu'elles ne soient récursives ou qu'il existe un pointeur sur elles). "

source ==> http://cowww.epfl.ch/infmaph/doc/coursCpp/x2726.html
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:33
bs est le pere du c++, l'unique
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 16:40
ça a koi a voir les macros?

Magic Nono: l'informagicien! 8-)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 août 2004 à 16:42
quelles macros ?
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
27 août 2004 à 16:44
cf Posté par : leprov - le 27/08/2004 16:32:35

Magic Nono: l'informagicien! 8-)
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:47
bah pour mes classe generiques, je me fais chier a faire deux macros, une pr template <typename truc> et une pr inline template <typename truc>, alors c'est casse couille, je suis informaticien dc fainéant........ :D si je peux éviter, c'est pas plus mal
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
27 août 2004 à 16:48
dsl cest vrai ke jetais seul au monde a me comprendre sur ce coup la, si je précise pas c'est sur que c'est pas évident.......
0
Rejoignez-nous