+ 1
why do we use endl instead of \n more specifically in c++
3 Answers
+ 5
endl appends '\n' to the stream and calls flush() on the stream. So
cout << x << endl;
is equivalent to
cout << x << '\n';
cout.flush();
A stream may use an internal buffer which gets actually streamed when the stream is flushed. In case of cout you may not notice the difference since it's somehow synchronized (tied) with cin, but for an arbitrary stream, such as file stream, you'll notice a difference in a multithreaded program, for example.
Here's an interesting discussion on why flushing may be necessary.
+ 3
Lekhana Pinninti
https://www.sololearn.com/Discuss/1956685/?ref=app
This post, answer by swim would be good for this question.