Lässt sie folgender Ablauf schneller machen:
-
[quote="HumeSikkins"]
otze schrieb:
volkard schrieb:
aber wenn du was über speed sagen willst, erzähl im doch mal den unterschied zwischen <<endl und <<'\n' und warum man mal das eine und mal das andere verwendet.
machs doch selbst
Bevor hier jetzt noch weitere derart sinnvolle Kommentare kommen, verweise ich doch einfach mal auf einen Artikel von Scott Meyers:
http://www.aristeia.com/Papers/C++ReportColumns/novdec95.pdf
Bist du verliebt in Scott Meyers? In jedem zweiten Posting zitierst du irgendwas von Scott Meyers...
-
[quote="otze"]sagte ich das nicht, mein Meister?[quote]
bei genauerer betrachung komme ich nicht umhin, dem zuzustimmen.
-
gaylord schrieb:
Bist du verliebt in Scott Meyers?
sind wir das nicht alle? des einen idol ist halt olli kahn und der andere ist programmierer.
-
Ich verstehe die erklärung nicht so ganz, stimmts so:
Bei '\n' wird der Buffer nicht geleert, d.h. ich schreibe eine zeile in die datei und im Buffer steht noch die zeile.
Bei endl wird die zeile geschrieben, buffer gelöscht und eine neue zeile erstellt.Deshalb ist endl langsamer. stimmts so?
-
ja, wobei der buffer auch manchmal von alleine losgeht, wenn er voll ist oder am Programmende. Flushen kannst du auch ohne Newline mit std::flush btw.
-
kingruedi schrieb:
ja, wobei der buffer auch manchmal von alleine losgeht, wenn er voll ist oder am Programmende.
Oder vor einer Eingabe. Standardmäßig sind cin und cout ge"tie"d.
-
wusste doch ich hab etwas vergessen
-
Also müsste es doch aber so aussehen:
'n':
Schreibe buffer, neue Zeile, Buffer wird wieder gefüllt (überschreiben? geleert und wieder beschrieben?)endl:
schreibe buffer, leere, buffer, neue zeile, beschreibe bufferLäuft das nicht doch irgendwie auf das gleiche hinaus ?
-
is eher so:
"\n"=füge "\n" an den string im buffer an
endl=zeige buffer an,leere buffer, springe in nächste zeile
-
ok alles klar dann stelle ich mal den code um