2017-12-31 94 views
-2

Also, ich bin gerade in 'C++' Dev, und ich frage mich, wie, genau std :: endl und \ n unterscheiden. Ich habe nachgeschaut, und ich denke, endl löscht den Puffer, was meiner Meinung nach bedeutet, dass er nicht mehr vorübergehend im Speicher gespeichert wird und jetzt in eine Textdatei oder ein Terminal ausgedruckt wird. Meine Frage ist jedoch, ob Sie \ N auch für Konsolenanwendungen verwenden können, die auf ein Terminal drucken und dasselbe ausgeben. Ist meine Interpretation des Puffers und der Spülung falsch? Wenn ja, was genau bedeutet das?Wie genau funktioniert die Pufferspülung (Unterschied zwischen std :: endl und n)?

EDIT: Die Frage ist hauptsächlich, wie \ n kann sich im Terminal auf die gleiche Weise verhalten, wenn Dinge nur auf dem Terminal ausgegeben werden, wenn sie gelöscht wurden.

Antwort

2

std::endl Verwendung ist nicht die nur Sache, die cout spült.

Lesen von cin führt auch dazu, dass der Puffer cout geleert wird, so dass Aufforderungen auf der Konsole angezeigt werden können. Standardmäßig sind die Streams "tied" zueinander.

+0

Sie können auch bemerken, dass 'std :: flush 'auch den Puffer löscht (was' std :: endl' intern nach Ausgabe des '\ n' macht). –

Verwandte Themen