Call me dense, because I just don't get this.
Don't get me wrong, I understand the concept of buffered and unbuffered output completely. Conceptually, it's simple. When will I ever see it in practice though? To put it another way... when is cout not flushed?
For a long time I've been looking for a visual example that depicts the difference between cout and cerr. I've written some test programs trying to show the difference, but to no avail.
So does anyone have a good example of cout not outputting where cerr would? Right now the only thing I can think of is writing multiple threads and hope one of the threads fails, crashes the program, right in the middle of a cout out statement. I don't know. My head hurts.