您的位置:首页 > 编程语言 > C语言/C++

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,这样不刷新缓冲区,这样会更快。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: