C++操控器endl与换行符'\n'的区别


很多C++的初学者都以为endl只是'\n'换行符的替代者,这是一种片面的看法,因为endl不仅仅在在输出流中插入了'\n',而且还有刷新缓冲区的作用。输入输出流会把获取到的数据先存放在缓冲区中,当计算机不忙的时候,会实时地把数据处理掉,这时候'\n'endl没有什么太大的区别,当计算机任务繁重的时候,就会默认等到缓冲区被填满,再一块处理掉这些数据,这时候endl就开始发挥作用,它会告诉计算机立即开始处理缓冲区里的数据。

cout << a ;
cout << b ;
return 0;

比如上面的代码,计算机非常繁忙时,它不会执行完第一行就打印出a的值,也不会在执行第二行代码时,打印出b的值,计算机会等到执行完最后一行代码,程序结束时,或者需要输出的东西太多,把缓冲区填满时,才会一起把ab的值同时打印出来。

cout << a << endl;
cout << b << endl;
return 0;

加上endl以后,不管计算机有多繁忙,它都会立即把缓冲区里的东西打印出来,清空缓冲区,执行到第一行的时候,就把a打印出来,执行到第二行的时候,就把b打印出来。

使用endl立即清空缓冲区是一个良好的编程习惯,任何时候程序被精确地操作,都比让计算机自动处理来得稳定和安全,在一些要求极高运行效率的环境下,用'\n'也是合理的,一切视情况而定。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值