extern ostream cout;
extern ostream cerr;
extern ostream clog;cout、cerr和clog被声明为ostream类型。但是cout和clog有缓冲区,而cerr没有。
发布于 2012-11-29 09:16:55
这三个对象具有相同的类型,但它们不是相同的实例。可以对ostream的实例进行不同的配置;在本例中,这三个对象被配置为以其特定的方式分别处理缓冲。这是有道理的:如果同一类的所有对象都以完全相同的方式运行,那么就没有理由在一开始就让它们分离对象。
发布于 2012-11-29 09:17:11
constructor采用streambuf选项
explicit ostream (streambuf * sb);
我猜它们中的每一个都使用不同的streambuf输出,这些streambuf对象控制输出如何缓冲(或不缓冲)。
https://stackoverflow.com/questions/13617241
复制相似问题