C++为什么最简单的循环添加在控制台中显示得如此之慢?

pur*_*lau 1 c++

这可能是微不足道的,但我找不到答案.我知道我的Intel i7 8核心处理器每秒可以计算数百万比特.

但是,控制台以较慢的速度显示以下简单代码.在控制台中,它已经很快但是需要一些时间才能结束.

这是因为MS修复了win32控制台窗口的刷新速度吗?先感谢您!

for(int i=1; i<=10e8;i++){
    cout<<i<<endl;
}
Run Code Online (Sandbox Code Playgroud)

das*_*ght 8

控制台很慢,因为需要在屏幕上滚动文本.每次向控制台写入另一行时,当前内容的图像都需要向上滚动 - 需要大量复制才能动画平滑滚动的操作.这就是为什么会出现放缓的原因.

您可以通过隐藏控制台窗口来加快进程:实现足够智能,不会浪费时间滚动.另一个技巧是将控制台的高度减少到更少的行:文本开始滚动更快,因为需要复制的信息更少.