Parcours buffer circulaire - C++ - Programmation

Marsh Posté le 15-02-2004 à 13:49:56   

Reply

Marsh Posté le 15-02-2004 à 14:06:55    

et plus simplement
 

Code :
  1. TYPE next (TYPE val)
  2.     {
  3.     if (val == 'C')
  4.         return 'A' ;
  5.     return val + 1 ;
  6.     }


 
Pas très beau, mais simple


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 15-02-2004 à 14:17:28    

JagStang a écrit :

et plus simplement
 

Code :
  1. TYPE next (TYPE val)
  2.     {
  3.     if (val == 'C')
  4.         return 'A' ;
  5.     return val + 1 ;
  6.     }


 
Pas très beau, mais simple


 
Sauf que je bosse pas sur des caractères, c'était juste pour illustrer le pb.
A+

Reply

Marsh Posté le 15-02-2004 à 14:24:34    

je crois alors que tu as fais le tour. A moins d'utiliser une structure doublement chainée, tu peux pas faire autrement qu'avec les solutions que tu as citées plus haut
 
a+


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 15-02-2004 à 14:44:54    

JagStang a écrit :

je crois alors que tu as fais le tour. A moins d'utiliser une structure doublement chainée, tu peux pas faire autrement qu'avec les solutions que tu as citées plus haut
 
a+


Merci
Par-contre tu ne précises pas laquelle tu me conseilles ?

Reply

Marsh Posté le 15-02-2004 à 20:31:52    

:bounce:  
C'est pour apprendre les bonnes pratiques !

Reply

Marsh Posté le 15-02-2004 à 20:35:36    

moi j'aime bien le concept de sous-type/enrobeur (voir même quelque chose de mixte) d'iterator pour planquer tout ça joliment

Reply

Marsh Posté le 15-02-2004 à 21:10:58    

taz a écrit :

moi j'aime bien le concept de sous-type/enrobeur (voir même quelque chose de mixte) d'iterator pour planquer tout ça joliment


Un type dérivé de std::list en redéfinissant iterator ?
Ou plus simple que ça ?

Reply

Marsh Posté le 15-02-2004 à 21:20:30    

non, juste une surcouche par dessus un itérateur
soit par héritage, soit pas enrobbage
 
soit un simple object fonction
 

Code :
  1. TourneEnRond< std::list<int> > inc(liste);
  2. std::list<int>::iterator it(liste.begin());
  3. while( ... )
  4. {
  5.    inc(it);
  6. }


Message édité par Taz le 15-02-2004 à 21:20:45
Reply

Marsh Posté le 16-02-2004 à 00:14:22    

Peux-tu montrer ce que tu ferais par héritage ?
J'essaie de faire un template qui hérite de T::iterator, mais je ne sais pas comment récupérer une référence sur le conteneur pour pouvoir tester end().
J'ai tout faux ?

Reply

Marsh Posté le 16-02-2004 à 00:14:22   

Reply

Marsh Posté le 16-02-2004 à 13:07:35    

pas question d'hériter du conteneur, mais peut être juste de l'itérateur avec un héritage template. tu peux pas récupére la référence, voire plus haut

Reply

Marsh Posté le 17-02-2004 à 09:32:13    

taz a écrit :

pas question d'hériter du conteneur, mais peut être juste de l'itérateur avec un héritage template. tu peux pas récupére la référence, voire plus haut


Peux-tu développer STP ?
C'est ce que j'ai essayé de faire donc y a qqch qui m'échappe.
 
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed