Difference between "endl" and "\n"

Nawaz picture Nawaz · Dec 22, 2010 · Viewed 21.9k times · Source

Possible Duplicate:
C++: “std::endl” vs “\n”

I'm wondering if there is any significant difference between these two ways to print newline :

cout << endl;  //approach1
cout << "\n";  //approach2

Is there any practical difference?

Answer

peoro picture peoro · Dec 22, 2010

Yes, they're different.

"\n" is just a string of length 1 that gets appended to stdout.

std::endl, instead, is an object that will cause to append the newline character ("\n") AND to flush stdout buffer. For this reason it will take more processing.