Si può sempre filtrare tutto l'I/O creando una classe per gestire l'output. Dato che la classe potrebbe essere utilizzata a livello di applicazione, una classe statica potrebbe essere in ordine, ma è possibile creare un'istanza della classe come necessario.
Oltre a scrivere qualcosa o no per coutare o anche scegliere un output diverso, basato sulla stringa argomento, la classe potrebbe anche formattare il testo in base al tipo di output scelto.
Ho guardato su ostream e non ho visto alcun modo per modificare direttamente il cout. Hai riscontrato un bisogno che è emerso prima, quindi spero che qualcun altro a leggerlo possa avere idee migliori sulla creazione della classe che ho suggerito.
Suppongo che si possa [freopen] (http://www.cplusplus.com/reference/clibrary/cstdio/freopen/) 'stdout' prima e dopo ogni chiamata alla libreria condivisa. Le prestazioni e l'infilatura potrebbero essere una preoccupazione a seconda delle esigenze. – Joe
È possibile utilizzare 'std :: cout.rdbuf()' per reindirizzare l'output in un file, ad esempio. – lapk
Anche questa libreria condivisa non sembra di qualità commerciale. Se hai il codice sorgente per questa libreria dovresti ricompilarlo con la registrazione disabilitata. Una libreria responsabile consentirà che ciò avvenga in un unico punto utilizzando una definizione del preprocessore. – Joe