cout与cerr区别

cerr是非缓冲输出流,通过它输出的数据,是不会被缓冲的,也就是你传送一个数据给它,它立即输出,不会延迟。可能是因为这个属性,它常常被用于输出出错信息。cout流在输出可能会对数据进行缓冲,有时可能还需flush()强制它立即输出数据。

cout与cerr区别


    具体在输出的时候,二者是有区别的:

    1、cout经过缓冲后输出,默认情况下是显示器。这是一个被缓冲的输出,是标准输出,并且可以重新定向(关于重新定向的意思可以参考下面的例子);

    2、cerr不经过缓冲而直接输出,一般用于迅速输出出错信息,是标准错误,默认情况下被关联到标准输出流,但它不被缓冲,也就说错误消息可以直接发送到显示器,而无需等到缓冲区或者新的换行符时,才被显示。一般情况下不被重定向(重定向这点儿好像有争论,有些人说和系统有关,本人还不太明白) 作者:憂小黑 https://www.bilibili.com/read/cv9238418/ 出处:bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值