Влияние буферизации
Следующий пример демонстрирует действие команды буферизации.Можно ожидать программу для печати please wait, подождите 5 секунд, а затем продолжить.Он не обязательно будет работать в этом случае, однако поскольку выходные данные помещаются в буфер.
// effects_buffering.cpp
// compile with: /EHsc
#include <iostream>
#include <time.h>
using namespace std;
int main( )
{
time_t tm = time( NULL ) + 5;
cout << "Please wait...";
while ( time( NULL ) < tm )
;
cout << "\nAll done" << endl;
}
Работы программы логически cout объект должен очистки, когда сообщение.Сбросить ostream объект, он отправляет flush манипулятор.
cout << "Please wait..." << flush;
Этот шаг очищает буфер, предоставляя, что сообщение выводится перед ожиданием.Можно также использовать endl манипулятор, который очищает буфер и выводит возвращени-перевод строки или можно использовать экипажа cin объект.Этот объект (с ключом cerr OR clog обычно связаны с объектами) cout объект.Таким образом, любая использование cin (или cerr OR clog объекты) топят cout объект.