Wozu braucht man << endl; ?
-
Kann auch gleich jemand den Unterschied zwischen
cout << endl und cout << '\n' erklären?
-
std::cout << std::endlbewirkt einen Zeilenumbruch und eine Leerung des Puffers.
'\n'bewirkt einen Zeilenumbruch
-
'\n'ist viel viel viel schneller
-
<< endl
entspricht quasi
<< '\n' << flush
-
geschlossen
-
nein, deshalb ist es ja schneller...
-
und ist erst bei sehr vielen Ausgaben überhaupt interessant ...
-
Also ich persönlich schreibe meistens "endl" solange die Ausgabe auf dem Bildschirm landet (und nicht etwa in einer Datei). "endl" schreibt sich einfach deutlich schneller als die 3 Sonderzeichen in "'\n'".
-
Man sollte das einsetzen was in einer konkreten Situation korrekt ist, und nicht das was schöner aussieht oder leicht zu schreiben ist.
-
flush() schrieb:
Man sollte das einsetzen was in einer konkreten Situation korrekt ist, und nicht das was schöner aussieht oder leicht zu schreiben ist.

std::endlbewirkt, dass der internestreambufeines Streams seinen Puffer leert.Bei Dateien kann das den Stream maßgeblich verlangsamen, ist dort aber nötig.
Allerdings sollteendlfür die Standardausgabe (stdout) auch nur verwendet werden, wo es wirklich nötig ist.
(Ja, es gibt Anwendungsfälle)
-
Man sollte auch wissen das ein Lesen von std::cin, std::cout automatisch flusht was die Fälle wo man wirklich std::endl braucht noch weiter verringert.