流与缓冲区 · 数据先进缓冲,再批量刷出

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