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

C++ProgrammingObject Oriented Programming

"\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.

Published on 28-Feb-2018 15:21:14