 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Joseph KHOURY Guest
|
Posted: Sun May 23, 2004 1:41 pm Post subject: les méthodes de la classe list de la STL |
|
|
Bonjour,
J'ai definit la classe
class perso
{ public:
string fname;
string lname;
...
};
je declare:
list<perso> toto;
list<perso> :: iterator it;
Est-ce que les méthodes de la classe list de la STL comme insert, merge et
autres s'utilisent comme dans le cas de la declaration:
list<int>nombre;
Merci de votre aide.
|
|
| Back to top |
|
 |
syn-ack Guest
|
Posted: Sun May 23, 2004 6:41 pm Post subject: Re: les méthodes de la classe list de la STL |
|
|
oui, par contre tu devrai faire des template. c moi chiant
"Joseph KHOURY" <jkhoury (AT) free (DOT) fr> a écrit dans le message news:
40b0aa12$0$13934$636a15ce (AT) news (DOT) free.fr...
| Quote: | Bonjour,
J'ai definit la classe
class perso
{ public:
string fname;
string lname;
...
};
je declare:
list<perso> toto;
list<perso> :: iterator it;
Est-ce que les méthodes de la classe list de la STL comme insert, merge
et
autres s'utilisent comme dans le cas de la declaration:
list<int>nombre;
Merci de votre aide.
|
|
|
| Back to top |
|
 |
Patrick Mézard Guest
|
Posted: Sun May 23, 2004 7:18 pm Post subject: Re: les méthodes de la classe list de la STL |
|
|
Joseph KHOURY wrote:
| Quote: | Bonjour,
J'ai definit la classe
class perso
{ public:
string fname;
string lname;
...
};
je declare:
list<perso> toto;
list<perso> :: iterator it;
Est-ce que les méthodes de la classe list de la STL comme insert, merge et
autres s'utilisent comme dans le cas de la declaration:
list<int>nombre;
|
Oui, c'est le principe des conteneurs de la STL.
Les différents conteneurs supposent que le types passés en paramètres
ont certaines propriétés, comme d'être copiables par assignation et
construction par exemple. A partir du moment où les types utilisés
implémentent ces opérations avec la même sémantique, ils sont
substituables, et le conteneur peut implémenter ses opérations de la
même manières pour tout ces types. Il exploite du polymorphisme de
compilation.
Les types passés en arguments influent tout de même sur plusieurs choses :
- "L'efficacité" des opérations, au sens très large (la complexité des
opérations reste la même d'un type à l'autre). En gros, les conteneurs
manipulent les instances contenues par valeur. Plus les objets sont
lourds à copier plus leur manipulation sera coûteuse. C'est pour cela
que les "grosses" instances se manipulent généralement via leurs
pointeurs, mais cela entraine d'autres problèmes.
- Les garanties aux exceptions. Les conteneurs de la STL garantissent
certaines propriétés en cas de levée d'exception durant une opération.
Par exemple, si un std::vector<>::push_back jette une exception, alors
l'objet n'a pas été inséré quel que soit son type. Pour certaines
opérations, ces garanties dépendent aussi du comportement des types
utilisés. Si le type peut lancer des exceptions durant une copie alors
std::vector<>::insert laissera le conteneur dans un état valide mais non
spécifié (l'objet pourra avoir été inséré ou pas).
Patrick Mézard
|
|
| Back to top |
|
 |
Samuel Krempp Guest
|
Posted: Mon May 24, 2004 10:20 am Post subject: Re: les méthodes de la classe list de la STL |
|
|
le Sunday 23 May 2004 20:41, [email]syn-ack (AT) wanadoo (DOT) fr[/email] écrivit :
| Quote: | oui, par contre tu devrai faire des template. c moi chiant
|
?
des templates de quoi, pour quoi ?
(et note que l'on répond *après* le message cité, et qu'on cite le moins
possible du message)
--
Sam
|
|
| Back to top |
|
 |
Alexandre Guest
|
Posted: Mon May 24, 2004 8:46 pm Post subject: Re: les méthodes de la classe list de la STL |
|
|
"Samuel Krempp" <krempp (AT) crans (DOT) truc.en.trop.ens-cachan.fr> a écrit dans le
message de news:40b1cc6b$0$12736$626a14ce (AT) news (DOT) free.fr...
| Quote: | le Sunday 23 May 2004 20:41, [email]syn-ack (AT) wanadoo (DOT) fr[/email] écrivit :
oui, par contre tu devrai faire des template. c moi chiant
?
des templates de quoi, pour quoi ?
(et note que l'on répond *après* le message cité, et qu'on cite le moins
possible du message)
--
Sam
|
je pense qu'il voulait dire des "typedef".
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|