4 votes

std::stringstream comme paramètre

Je suis un peu nouveau dans le langage C++. J'écris une classe utilitaire pour la journalisation vers un fichier. Elle fonctionne à merveille, sauf que j'aimerais maintenant l'améliorer en la rendant plus pratique à utiliser (par exemple, passer des flux de chaînes à une fonction de journalisation).

C'est ce que j'ai essayé et ça n'a pas marché.

définition :

void LogStream( std::stringstream i_Log ){ m_FileHandle << i_Log << std::endl; }

appeler :

m_LogObject->LogStream( "MKLBSearchEngine::Search( " << x << ", " << i_Filter << " ) - No Results Found" );

0voto

Vous passez std::stringstream instance par valeur. Vous voulez éviter la copie et la transmettre par référence (ou pointeur). Par exemple :

void LogStream ( std::stringstream & i_Log ){ m_FileHandle << i_Log << std::endl; }

En savoir plus sur le C++ références .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X