C/C++中的缓存区 【待整理】

c语言缓冲区类型,清空缓冲区,谈getchar、getch、getche - 知乎

std::cerr与std::cout区别_MatthewMao的博客-CSDN博客 

我目前的理解:【可能是错的】例如键盘输入数字做乘法这个例子,对应语句就是:

#include <iostream>

int main()
{
    int a=0,b=0;
    std::cin >> a >> b ;
    std::cout<<a*b<<std::endl;
}

由于我们的键盘输入速度一定时远低于CPU 处理速度的,虽然理论上的执行顺序应该是:CPU等待 键盘输入两个值 -- CPU读取这两个值并赋给a,b这两个变量对应的空间 -- CPU 对这两个变量做乘法 -- 将乘积输出

但事实上,CPU 不可能去等待键盘输入的,在键盘输入的过程中,CPU会去处理其他的事情(否则就会CPU资源浪费呀)

那CPU去处理其他的事情,键盘输入的数据就不会输入的瞬间被CPU接受然后赋给对应变量,这两个从键盘输入的数值 就会存储到 缓存区buffer中 

等到这两个数据全部都从键盘输入完毕了,CPU这时候 再一起从缓存区读走这两个数值 就可以既不耽误CPU,有可以快速地执行我们的代码程序 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值