|
Bas de page | |
---|---|
Auteur | Sujet : ostream_iterator |
Publicité | Posté le 21-03-2009 à 04:30:07 |
Joel F Real men use unique_ptr |
Taz bisounours-codeur | pourquoi friend ? |
weblook$$ |
--------------- |
weblook$$ | bon avec le code ci-dessous ça marche, mais y pas plus simple/propre :
Message édité par weblook$$ le 23-03-2009 à 01:02:06 --------------- |
weblook$$ | et d'ailleurs je ne comprends pas pourquoi je ss obligé d'écrire un const de copie et =, si je ne les écris pas , le compilo me marque :
Message cité 1 fois Message édité par weblook$$ le 21-03-2009 à 16:15:42 --------------- |
Taz bisounours-codeur | # void Swap(const MaClasse<T> & m)
|
weblook$$ | oui ça m'a l'air un peu saboté, mais comment faire alors ?? au niveau du const jss coincé. Oui bon effectivement en faisant des affectations au lieu des swap, ça roule, mais j'avais cru comprendre que de swappé c'était plus safe Message édité par weblook$$ le 21-03-2009 à 17:35:38 --------------- |
weblook$$ |
Le constructeur de recopie par défaut est déclaré explicit, et la classe vector à besoin d'un construeur de recopie qui ne le soit pas ? Message édité par weblook$$ le 21-03-2009 à 21:01:38 --------------- |
weblook$$ | personne pour/confirmer infirmer ? --------------- |
Publicité | Posté le 22-03-2009 à 15:51:40 |
Joel F Real men use unique_ptr | c'ets le auto_ptr qui est non-copiable ... Message édité par Joel F le 22-03-2009 à 16:02:58 |
weblook$$ | Lorsque je regarde l'implémenation de auto_ptr dans memory... le constructeur de recopie est public, donc je comprends pas ta réponse
Message édité par weblook$$ le 23-03-2009 à 02:12:51 --------------- |
weblook$$ | 1) c'est bon problème localisé , le problème vient du fait que le constructeur de recopie dans la classe auto_ptr à un paramètre non const, et pour vector, du moins pour insérer des éléments dans une classe de type vector, il faut que la classe stockée ait un constructeur de recopie possédant un paramètre const...c'est quand même bien fait le C++ 2) Et de plus je suis obligé de déclarer auto_ptr mutable, même si je ne le modifie pas dans une fonction const je veux dire, autrement EDIT:
Message édité par weblook$$ le 23-03-2009 à 02:11:42 --------------- |
weblook$$ | oops ok en faite je me tirais une balle dans le pied au niveau du constructeur par recopie... comme le disais Joel,un auto_ptr ne se copie pas...
Message édité par weblook$$ le 23-03-2009 à 11:51:35 --------------- |
Taz bisounours-codeur | c'est pas tellement que ça se copie pas, c'est que de toutes façons, ça veut dire transférer le contenu. |
Sujets relatifs | |
---|---|
stl iterator | iterator sur un taleau C |
iterator_traits et pointeur | problème avec les std iterator |
iterator() | . |
Implémenter l'interface Iterator | [résolu] [qst] [débutant] Opérations pdt un parcours avec Iterator ? |
Problème avec les Vectors ( return ((vector<_Key>::iterator)NULL;) | Iterator a la maison ou au front? |
Plus de sujets relatifs à : ostream_iterator |