cout、cerr、clog三者都是标准IO库中提供的输出工具。
但是cout是支持重定向操作的。比如freopen()对于cout有效。 clog和cerr主要用于错误输出。 因此,如果将程序输出重定向到文件,并且发生了错误,则屏幕上仍然会出现错误消息。
官方说明:https://zh.cppreference.com/w/cpp/io