0
What is the difference between /n and endl in c++?
3 Réponses
+ 3
The difference is in performance.
When we have to output something , first they need to be stored in an output buffer before writing it to output device.
When we use endl it causes the buffer to flush the output stored in it while using \n doesn't cause it.
Example,
#include <iostream.h>
int main(){
for (int i=1;i<=10;i++){
cout<<i<<endl;
}
return 0;
}
Here the output buffer is flushed each time the compiler execute
cout<<i<<endl
Where as in below example,
#include <iostream.h>
int main(){
for (int i=1;i<=10;i++){
cout<<i<<"\n";
}
return 0;
}
Output is stored in buffer until all numbers are filled and buffer will be flushed at last only once.
We can't visually see the difference for small programs but when executing large programs we may see the lag.
+ 1
Seb TheS well endl is equivalent to calling \n in addition with flush() function to flush the buffer after newline .. there may be cases where we need flushing , so it is added to c++ even though it's not there in c. You can refer this
https://stackoverflow.com/questions/7324843/why-use-endl-when-i-can-use-a-newline-character
0
DAVINCI If endl isn't better than newline then why does it exist?