博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
流与缓冲区的理解
阅读量:4671 次
发布时间:2019-06-09

本文共 583 字,大约阅读时间需要 1 分钟。

流的概念

  • 流是一个 过程 ,一个 动态 的概念

(可以把流想象成水在水管中流动的过程,想象成商品快递运送的过程。cin和cout就是 执行 流这个过程的人)

  • 流 负责 操作 缓冲区,输入输出流是 操作实现
    • 对于输入,cin负责把输入缓冲区中的内容传递给程序;
    • 对于输出,cout负责把输出缓冲区中的内容传递给屏幕。

(cin和cout把缓冲区的数据变成流,然后 搬运 到相应的目的地。cin和cout就是个 搬运工搬运的过程 就是流)


  • 程序流源流目标 之间的桥梁
    • 使得C++程序可以以 相同的方式 对待来自 键盘 的输入和来自 文件 的输入
    • C++程序只检查 字节流 ,而不需要知道字节来自何方
    • C++程序处理输出的方式将独立于其去向
  • 输入流需要两个连接,每端各一个
    • 文件端连接 提供了流的来源
    • 程序端连接 将流的流出部分转储到程序中
    • (文件端连接可以是文件,也可以是设备)
    • 对输出的管理包括将 输出流 连接到 程序 以及将 输出目标 关联起来

缓冲区的概念

  • 标准库 提供缓冲是为了减少对read和write的调用(能更高效地处理输入和输出)

  • 用作中介的内存块,将信息从设备传输到程序或从程序传输给设备的 临时存储工具

参考资料

转载于:https://www.cnblogs.com/wangzhiyi/p/9491969.html

你可能感兴趣的文章
delphi dxBarManager 的dxBarEdit 输入问题
查看>>
Hadoop入门介绍一
查看>>
面试经典-分金条
查看>>
利用AutoSPSourceBuilder和Autospinstaller自动安装SharePoint Server 2013图解教程——Part 1...
查看>>
ZOJ-2972-Hurdles of 110m(记忆化搜索)
查看>>
一些新了解到技术
查看>>
vue.js click点击事件获取当前元素对象
查看>>
【单调栈,单调队列】总结
查看>>
LeetCode:Gas Station
查看>>
MyBatis初识(通过小实例清晰认识MyBatis)
查看>>
面对最菜TI战队,OpenAI在Dota2上输的毫无还手之力
查看>>
XCODE快捷键和功能汇总篇(不断更新)
查看>>
Servlet开发(一)
查看>>
linux下如何查看某个容器的详细信息?
查看>>
bzoj 2843: 极地旅行社
查看>>
车林通购车之家--购车计算器模块--算法js
查看>>
webpack使用教程
查看>>
MySQL学习8 - 数据的增删改
查看>>
Linux笔记(开机自动将kerne log保存到SD卡中)
查看>>
Ajax提交数据判断员工编号是否存在,及自动填充与员工编号所对应的员工姓名。...
查看>>