playmo420
Messages postés50Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 6 juin 2006
-
6 mai 2004 à 10:08
playmo420
Messages postés50Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 6 juin 2006
-
10 mai 2004 à 10:28
Salut
J'ai un petit probleme : je desire creer un objet permettant de gerer des flux de sortie. Voila un exemple, ca sera plus simple :
mon_objet<<"abcd"<<endl<<12345<<endl;
doit ecrire
abcd
12345
sur le flux precedemment defini dans l'objet (par exemple cout, ou un flux de fichier, ...).
Pour ca, y'a pas de probleme. Mais je voudrais aussi pouvoir bloquer ce flux. En clair, si une variable a une certaine valeur dans l'objet, le "mon_objet<<...." ne doit rien ecrire. Pour ce qui est directement a droite de l'objet, pas de probleme, mais je ne vois pas comment bloquer ce qui suit. Par exemple, pour le moment,
playmo420
Messages postés50Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 6 juin 2006 7 mai 2004 à 09:44
J'ai finalement reussi a faire ce que je voulais en surchargeant l'operateur << avec un template. Le seul probleme qui reste vient, comme tu l'as dit du endl. (pour l'instant je ne peux utiliser que des "/n" pour les passages a la ligne, ce qui est meilleur en terme de performance, mais bon...
Pour ce qui est de la classe, je suis en train de mettre au point une classe de tracage. Pour ceux qui ne connaissent pas, ca sert a simplifier la gestion des messages de log pour le debugging. Par exemple, au lieu de faire un
cout<<"variable xyz :"<<xyx<<endl;
on fait
traceur<<"variable xyz :"<<xyx<<"/n";
Sachant que traceur peut etre desactive et est gere grace a un systeme de niveaux de priorite des messages.
Je pense que ma classe sera bientot finie, et il ne me reste plus en fait qu'a gerer le probleme du endl. Si qqun a une idee... (surcharge de <<, du manipulateur, ...)
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 7 mai 2004 à 20:01
oui ca peut etre utile comme classe, mais pour les tracage ya aussi assert, mais apres tout si c'est plus partique...
c'est quoi le probleme avec endl?
et pourquoi tu ve utiliser ca a la place de '\n' ?
playmo420
Messages postés50Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 6 juin 2006 10 mai 2004 à 09:40
En fait j'ai surcharge l'operateur << pour prendre un objet de ma classe a gauche et j'ai utilise un template pour la droite. Tous les types et manipulateurs passent nickel, sauf endl. (i.e je ne peux pas faire mon_objet<<...<<...<<endl;)
Pourquoi je veux utiliser ca avec endl ? Bah c'est sur que \n est meilleur que endl en terme de performances, ce qui est important pour le tracing, mais je voudrais faire un truc assez complet...
Vous n’avez pas trouvé la réponse que vous recherchez ?