cout 与 cerr 都是c++对象,都用于输出内容,只是功能不同。
cout 是标准的输出流,需要iostream支持。把要输出的数据先放到缓冲区中,然后再从缓冲区输出到你指定的设备中。也就是在执行输出操作之后,数据并非立刻传到输出设备,而是先进入一个缓冲区,当适宜的时机(如设备空闲)后再由缓冲区传入,这也就是在cout之后为什么要跟一个endl的原因了,endl 不仅有换行的作用还有刷新缓冲区的作用。
cerr 是错误输出流,无缓冲。cerr通常用于输出错误信息与其他不属于正常逻辑的输出内容,即用于显示错误消息。cerr不经过缓冲区而直接输出到显示器,一般用于迅速输出出错信息,是标准错误。
cerr 通常与try catch一起使用。
try{}
catch(){
cerr<<
}