C ++ буферизованный поток ввода-вывода
Я понимаю, что по умолчанию весь поток ввода-вывода, поддерживаемый C ++, буферизуется.
Это означает, что данные для вывода помещаются в буфер до его заполнения, а затем отправляются на устройство вывода, аналогично для ввода данные считываются, когда буфер пуст ... все это делается для того, чтобы количество дорогой системы звонки могут быть сведены к минимуму.
Но как проверить это поведение в действии. Я имею в виду рассмотреть следующий код
int main()
{
cout << "Hello world\n";
return 0
}
Где буферизация входит в картину здесь? Я знаю, что происходит буферизация, но как это объяснить? Вывод сразу виден на экране, так что может быть примером кода, чтобы фактически увидеть буферизованный ввод / вывод в действии?