zoukankan      html  css  js  c++  java
  • endl与 的用法区别

    学习C++的时候,老师说换行有两种写法。

    1 //方法一
    2 
    3 std::cout<<"你好!
    李华";
    4 
    5 //方法二
    6 
    7 std::cout<<"你好!"<<endl<<"李华";

    那么既然一种就能换行,为啥还要搞出两种呢?锻炼我们的记忆力吗?我想不是,带着疑问,我开始了网络搜索之旅。

    除了换行,endl还具有其他功能。

    “ ”只是功能单一的换行。

    而“endl”除了换行还会调用flush()函数,刷新缓冲区,让数据直接写入文件或者输出到屏幕上。

    对于急着显示在屏幕上,立即将计算结果输出到屏幕上的情况,可以选择“endl”。如果你不急着输出到屏幕,想提高代码的执行效率,让它更快,你可以选用“ ”。因为“ ”不会刷新缓冲区,所以速度更快。

    我感觉这样说,还是说的不够明白。读者未必非常清楚,为了彻底了解,彻底说的太大了,应该是更进一步了解。我继续搜索,这个作者的博文满足了我的需要,如果大家还是看不懂就看他的吧。http://www.cnblogs.com/XqwKen/p/4564318.html

    他说:

    平时在控制台应用中我们是感觉不出使用“ ”“endl”的区别。

    因为“ ”在换行后并不清空缓冲槽(或者说缓冲区),但是当它遇到下行代码时就会立即清槽输出到设备(例如控制台屏幕)。而“endl”则在下一行代码之前,就清槽输出了。所以它能更快的输出显示。

    什么时候能很明显的区别二者呢?

    当程序崩溃时,“ ”只会将数据留存在缓冲槽内,没来得及输出。而“endl”却完成了输出。

  • 相关阅读:
    spring获取webapplicationcontext,applicationcontext几种方法详解(转)
    spring注入是否会被回收
    think in java 手记(一)
    spring 注解实例
    navicat远程连接oracle
    tomcat监听activemq jms配置
    HDU 1160:FatMouse's Speed
    YTU 2457: 很简单的一道题
    YTU 2456: 评委打分
    YTU 2455: Pefect 数字
  • 原文地址:https://www.cnblogs.com/arvintang/p/5113688.html
Copyright © 2011-2022 走看看