What is the difference between "std::endl" and "\n" in C++?


"\n" Outputs a newline (in the appropriate platform-specific representation, so it generates a "\r\n" on Windows), but std::endl does the same AND flushes the stream. Usually, you don't need to flush the stream immediately and it'll just cost you performance, so, for the most part, there's no reason to use std::endl.

When you want to flush the stream manually because you expect your output to be made visible to the user in a timely manner(ie without delay), you should use std::endl instead of writing '\n' to the stream.

Updated on: 30-Jul-2019

290 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements