1.clog输出代码
clog是输出代码时所需要输出错误信息时的所需代码,然而clog在缓冲区满了或遇到endl时才输出(比cout还慢,但不像cerr一样刷屏).
2.cerr输出代码
cerr是输出代码时所需要快速输出错误信息时所需的代码.
1.cerr的“特权”
1.插队特权
程序运行时,若程序出错,需要马上反馈给用户,然而显示屏还有部分内容未绘制完(往往是电脑的速度比显示器快,所以需 要设立一个缓冲区,以免出现显示器一个没绘制完就绘制下一个了),所以程序一旦出现错误,显示器无法及时的将错误信 息汇报给用户(虽说只有几毫秒,但也是优先显示cerr的内容)导致延误问题的处理,特别是在对系统的关键部位操作时,一 旦出错cout的速度太慢,这时就需要用到cerr了.cerr可以绕过缓冲区直接打印到显示屏上,这用可以大大增加报告错误信 息的速度,且仅占少量空间,因此我们把这种特权叫做——插队.
2.主角光环特权
是的,你没听错,cerr在某些IDE上是会变色的,如CLion,但是DEV-C++上面就没有,因为DEV-C++用的是 Windows 自带的CMD所以才会这样显示.
CLion:
Dev-C++:
上面的是cerr,下面的是cout(写的有些急,没有加system("pause");).
2.cerr的弊端
1.cerr是在代码出错时才可以使用的,由于它的快速也带来了很多弊端,如会使你的的输出变得繁乱,语无伦 次,打破了原有的规律.
2.cerr会让屏幕刷新(这就是它占空间少的原因),最终只剩一行cerr输出的内容(想输出一大堆的找cout去).
拜了个拜!
🔫交出点赞!