+ 2
What's the difference between endl and \n?
In c++, I read a comment saying that there is a difference
6 Answers
+ 5
Oh, I kind of touched on this answer in your previous question https://www.sololearn.com/Discuss/3235376/?ref=app
So, you already understand that both '\n' and endl output a newline. Normally, writing '\n' merely adds one or two more characters to the output buffer. As an optimization, the system delays writing to the output device until the buffer is full, then it writes the whole buffer, saving overhead in processing interrupts.
The difference that endl makes is that after adding newline, it then follows up with a flush of the output buffer, forcing all characters waiting in the output buffer to get written out immediately. This is especially useful for debugging. When a program crashes, often the output buffer is lost. Flushing output helps you to be certain of what the last successful output was.
+ 3
الحسين محمد عبدالله
In C++, both `endl` and `\n` are used to create a new line in the output. However, there is a difference between them. When you use `endl`, it not only adds a new line but also flushes the output buffer, which means the output is immediately displayed. On the other hand, when you use `\n`, it only adds a new line without immediately flushing the buffer. This can have an impact on performance in certain situations.
+ 2
The processing overhead I mentioned would be any extra steps required to prepare for outputting a character. To state it simply, it takes more processing to send two characters, one at a time, than it does to send them both together in bulk. You can extrapolate that principle to apply to sending a partially-full buffer several times, versus a full buffer.
+ 2
Alhaaj [LESS ACTIVE] the other posts here explain the difference. It is more than mere syntax.
+ 1
both are same both use for adding a new line in your code just there Syntex are different.
0
Brian
What does saving overhead in processing mean?