Может кто-нибудь объяснить концепцию буферов несколько более явно? Я понимаю, что буферы представляют собой структуры данных, где хранятся символы, и место, откуда должны считываться данные. Какова идея сброса буферов?
Когда буфера очищается, это относится к акту записи сохраненных в нем символов?
Из текста:
To avoid the overhead of writing in response to each output request, the library uses the
buffer to accumulate the characters to be written, and flushes the buffer, by writing its
contents to the output device, only when necessary. By doing so, it can combine several
output operations into a single write.
Когда речь идет о "промывке", это почти заставляет звук звучать так, как если бы буфер записывался, но также удалялся одновременно. Просто спекуляция.
Итак, для того, чтобы писать на экране, требуется флеш-буфер?
When our program writes its prompt to cout, that output goes into the buffer associated
with the standard output stream. Next, we attempt to read from cin. This read flushes
the cout buffer, so we are assured that our user will see the prompt.
Здесь звучит так, как будто с помощью "endl" в конце он сообщает системе, что ему нужно немедленно написать (подразумевая, что иначе это не так?) Что такое endl не используется?
Writing the value of std::endl ends the line of
output, and then flushes the buffer, which forces the system to write to the output
stream immediately.