c++编程里面endl与\n的区别,告诉你什么时候用二者最适合
2016-02-21 22:04
288 查看
区别:
endl除了具备\n的换行功能外,还调用输出流的flush函数,刷新缓冲区,让数据直接写入文件或者屏幕上。
例如,打开你的编译器include目录中的ostream.h文件,你就回看到类似的如下代码:
... ...
... endl(ostream& os) { os << '\n' << flush; }
... ...
也就是说,endl比'\n'要多了一个“刷新”流里的缓冲的flush操作。
以文件输出流(ofstream)为例:当流的缓冲区未满时,写入'\n'的是不会马上写到文件里的,但执行endl会“强行”把缓冲区的内容写入文件中。所以,endl不仅换行,还刷新流缓冲。
根据情况选择最佳的:
如果用在输出到显示器的场合.最好用endl。如要不立即显示,并且兼顾代码的执行效率的时候,可以考虑\n,这样不刷新缓冲区,这样会更快。
endl除了具备\n的换行功能外,还调用输出流的flush函数,刷新缓冲区,让数据直接写入文件或者屏幕上。
例如,打开你的编译器include目录中的ostream.h文件,你就回看到类似的如下代码:
... ...
... endl(ostream& os) { os << '\n' << flush; }
... ...
也就是说,endl比'\n'要多了一个“刷新”流里的缓冲的flush操作。
以文件输出流(ofstream)为例:当流的缓冲区未满时,写入'\n'的是不会马上写到文件里的,但执行endl会“强行”把缓冲区的内容写入文件中。所以,endl不仅换行,还刷新流缓冲。
根据情况选择最佳的:
如果用在输出到显示器的场合.最好用endl。如要不立即显示,并且兼顾代码的执行效率的时候,可以考虑\n,这样不刷新缓冲区,这样会更快。
相关文章推荐
- C++设计模式——单例模式
- C++中关于指针的理解(一点一点完善中)
- 希尔排序(C++版)
- 简单选择排序算法(C++版)
- 简单插入排序(C++版)
- 适配器模式
- 《C++Primer》 学习——第三章
- C++、C#写的WebService相互调用
- c++primer阅读笔记之数组与指针
- c++ 写注册表 并将exe添加到开机启动
- C++Primer charpter1.
- Dev-C++ 小问题锦集
- Klib - C语言通用库
- iOS 学习第十八天 OC语言 NSArray的使用
- ios 学习第十七天 OC语言 Protocol基本使用
- iOS 学习第十六天 OC语言 autorelease基本使用
- C/C++开源项目清单
- IOS学习第十五天 OC语言 内存管理简介
- iOS 学习第十四天 OC语言 OC中的私有方法
- C++中搜索、截取字符串