flush和endl有什么区别?

时间:2017-06-30 00:27:31

标签: c++

我意识到输出是一样的。
案例1:

cout << "enter password " <<flush;      

案例2:

cout << "enter password " <<endl;  

2 个答案:

答案 0 :(得分:7)

在刷新缓冲区之前,

endl会在输出中添加行尾字符。 flush只会刷新。

答案 1 :(得分:-1)

cout是缓冲的。进入它的文本可能会保留在内存中,直到更多文本通过,然后它们会同时消失。这样效率更高,但有时会以不在缓冲区中显示所有文本为代价。

我希望flush刷新缓冲区,以便立即输出所有文本。

我不知道flush是否也提供行终止符。