“冲洗流”是什么意思?

新手上路,请多包涵

我已经读到在 C++ 中,对于新行,’\n’ 优于 ‘endl’,因为 ‘endl’ 插入新行并刷新流。请告诉我什么是刷新流?

原文由 Anshuman Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 326
2 个回答

刷新流可确保输出已写入该流的所有数据,包括清除任何可能已缓冲的数据。

一些流被缓冲以提高性能,例如写入磁盘的流可能会缓冲直到内容达到块大小。

原文由 hardillb 发布,翻译遵循 CC BY-SA 3.0 许可协议

当您刷新流时,您将输出流的内容强制到操作系统使用的默认输出介质。术语流是一种结构的抽象,它允许您发送或接收未知数量的字节。在程序中的某些点,输出流会自动刷新,并不总是需要刷新。为了减少开销并提高性能,流会缓冲其内容并仅定期“刷新”它。流的示例是 cin (std::cin) 和 cout (std::cout),它们是输入和输出流。 “std::cin” 有一个缓冲区来存储输入数据,而 “std::cout’s” 缓冲区用于存储将要发送到屏幕的数据。

原文由 XZ6H 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏