
oui j'ai oublié "dans la stl", désolé![]()
En fait, je verrais bien un mélange entre les flux et sprinf(), un truc avec une syntaxe de ce genre:
Ça existe ?
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 StringFormatter fmt("%d + %d = %d"); fmt << a << b << (a+b); std::string str = fmt.str(); //Version courte std::string str = ( StringFormatter("%d + %d = %d") << a << b << (a+b) ).str();
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.









Boost.Format a quelque chose de proche. D'autres (dont moi, mais c'est pas dispo publiquement) on aussi ecrit des choses similaires.
Pour ta seconde forme, suivant la maniere dont on a ecrit la classe, il faut faire attention au fait qu'il n'est pas possible d'avoir des references non const sur les temporaires (donc on se retrouve soit avec des erreurs, soit avec un comportement inattendu, du genre utiliser l'operateur<< pour void* plutot que celui pour char*).
Partager