Răspuns:
În general, se foloseste standard output stream (std :: cout)
pentru ieșire normală, un-buffered standard error stream (std :: cerr) este utilizat atunci când trebuie să afișăm imediat mesajul de eroare iar buffered standard error stream (std :: clog) este folosită tot pentru a afișa erorile, dar spre deosebire de std :: cerr, eroarea este introdusă mai întâi într-un buffer și este stocată în buffer până când nu este complet "umplută"..
Explicație:
cout : stdout
cerr : stderr
clog : stderr
stdout și stderr sunt streamuri diferite, chiar dacă ambele se referă la ieșirea consolei în mod implicit.