Manipulation d'ostream - C++ - Programmation
Marsh Posté le 12-08-2010 à 15:07:23
passez un ostream a foo. "toto a" << age n'a pas de sens, l'operateur << n'ets pas défini sur les char const[7]
Marsh Posté le 12-08-2010 à 15:12:09
Oui mais justement, ya pas un moyen de transformer ça automatiquement en ostream ?
Marsh Posté le 12-08-2010 à 15:51:04
non :¶
et ton exemple sent le saucisson, tu veux faire quoi en vrai ?
Marsh Posté le 12-08-2010 à 15:54:14
En vrai je voudrais me faire un petit logger, avec une méthode write qui prendrait en paramètre un ostream plutôt qu'un string.
Marsh Posté le 12-08-2010 à 18:14:00
Oui ça d'accord, je connaissais déjà.
Mais là ce qui m'intéresse c'est pas de faire le logger, c'était de voir s'il y avait un moyen de faire ce que je demandais dans le 1er post.
Et merci pour le bout de code.
Marsh Posté le 12-08-2010 à 19:15:11
Apres ouais, faut passer par un truc a base d'expression template qui rend l'expression a base de << paresseuse ... C'ets un peu l'overkill
Marsh Posté le 13-08-2010 à 09:01:27
Mais c'est ça qu'est bon ! :¶
Marsh Posté le 12-08-2010 à 14:39:32
Hello,
J'ai une fonction comme ça :
void foo( std::ostream& out )
{
std::stringstream sstr;
sstr << out;
std::cout << sstr.str() << std::endl;
}
Comment faire que l'appel suivant fonctionne ?
int age = 12;
foo( "toto a " << age << " ans" );
---------------
Be the one with the flames.