流与缓冲区 · 数据先进缓冲,再批量刷出
cout << 不直接写屏幕,而是先存入输出缓冲区;满 / 换行 endl / flush / 程序结束 时才真正送达设备
程序
输出缓冲区 buffer
显示器(设备)
main.cpp
cout <<
"Hi"
;
cout <<
'!'
;
cout <<
endl
;
<< 只是「放入缓冲」,不是「送屏幕」
放入
字符在此排队累积,攒够 / 被触发才送出
flush 刷出
$ ./a.out
缓冲区刷新(flush)的四种时机
endl
= 换行 + flush(立即刷出)
'\n'
= 只换行,不 flush(崩溃前可能丢输出)
▶ 重播