Anhang D
cout-Pufferung
Bei einer Ausgabe mittels cout wird die Ausgabe nicht sofort auf die Standardausgabe ausgegeben, sondern zunächst in einen internen Ausgabepuffer kopiert. Der Grund dafür ist, dass das Schreiben in einen Ausgabepuffer wesentlich schneller vonstattengeht als die direkte Ausgabe auf die Standardausgabe. Erst wenn der Ausgabepuffer 'ausreichend' gefüllt ist, eine Eingabe erfolgen soll oder das Programm beendet wird, wird der Inhalt des Ausgabepuffers auf die Standardausgabe geschrieben.
In einigen Fällen kann es aber durchaus wünschenswert sein, die Ausgabe sofort auf die Standardausgabe zu schreiben. Dazu gibt es zwei Möglichkeiten:
Soll die cout Ausgabe ungepuffert durchgeführt werden, kann mittels std::cout.setf(std::ios::unitbuf); die Pufferung deaktiviert und mit std::cout.unsetf(std::ios::unitbuf); bei Bedarf wieder aktiviert werden.