C++的clog与cerr

it2023-07-31  69

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去).

拜了个拜!

🔫交出点赞!

最新回复(0)