Buongiorno a tutti,
Ho un piccolo dubbio: sto creando una classe che deve scrivere su uno stream di log, ma nel caso questo non gli venga passato nel costruttore allora va a scrivere sullo std::cout.
Per farlo ho fatto in modo di salvare come proprietà della classe uno stream output e di farmi passare nel costruttore uno std::strembuff *.
es:
class es {
std::ostream log;
public:
es(std::streambuff *logBuffer = std::cout.rdbuf()) : log(logBuffer);
}
Spero che dal codice risulti chiaro il procedimento....
Il dubbio che ho è: io posso comunque scrivere su due stream che puntano allo stesso buffer senza timore che il programma vada in deadlock? la sincronizzazione è gestita dal sistema operativo?