Ich lerne über iostream
Objekte und spült den Puffer. Ich weiß, wann Ausgabepuffer garantiert geleert werden und wie der Puffer explizit geleert wird. Jedoch habe ich nie einen Fall gesehen, in dem der Ausgabepuffer nicht gespült wird. Es scheint mir, dass der Ausgabepuffer am Ende jeder Anweisung geleert wird, auch wenn ich keine Manipulatoren wie endl
, flush
und ends
verwende.Fall (e), in dem der Ausgabepuffer nicht spült?
So ist es ein einfaches Beispiel (e), in dem der Ausgangspuffer nicht (oder zumindest könnte oft nicht) gespült werden? Ich habe das Gefühl, dass ich einen solchen Fall sehen muss, um Ausgabepuffer wirklich zu verstehen.
Denken Sie daran, dass es zwei Ebene der Pufferung sind und beteiligt Spülung: Buffering innerhalb des Upstream-Objekts, das von der Standardeinstellung für cout gedreht, und Buffering des Stroms in dem O. – MikeMB
@MikeMB 'cout' hat die Pufferung ausgeschaltet? Meinst du "unitbuff"? Wenn nicht, kann ich es einschalten? –
['std :: ios :: sync_with_stdio (false)'] (http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio) – MikeMB