为什么';tc++;在打印字符之前,程序在第二次迭代中等待一秒钟,就像在第一次迭代中一样 #包括 使用名称空间std; int main() { 对于(int i=0;i输出是缓冲的),这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)编译器会看到你的j。它会看到你对j做了什么。它会看到你从未使用过j。所以它会跳过对j做的任何事情。你想使用睡眠函数吗

为什么';tc++;在打印字符之前,程序在第二次迭代中等待一秒钟,就像在第一次迭代中一样 #包括 使用名称空间std; int main() { 对于(int i=0;i输出是缓冲的),这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)在C++中输出是缓冲的,这意味着一组字符同时被收集并同时输出,当缓冲区满或程序结束时,或者流被刷新时(例如, EntL)编译器会看到你的j。它会看到你对j做了什么。它会看到你从未使用过j。所以它会跳过对j做的任何事情。你想使用睡眠函数吗,c++,C++,tl;dr;编译器比你的糟糕代码更出色。编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗 tl;dr;编译器比你的糟糕代码更出色。编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗 tl;dr;编译器比你的糟糕代码更出色。编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗 tl;dr;编译器比你的糟糕代码更出色

tl;dr;编译器比你的糟糕代码更出色。

编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗


tl;dr;编译器比你的糟糕代码更出色。

编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗


tl;dr;编译器比你的糟糕代码更出色。

编译器看到你的j。它看到你对j做了什么。它看到你从未使用过j。所以它只是跳过了对j的所有操作。你想使用睡眠函数吗



tl;dr;编译器比你的糟糕代码更出色。

你确定初始延迟不仅仅是程序启动的延迟吗?尝试在main()的入口点后立即放置cout语句看看它和第一个“a”之间是否有明显的延迟。如果你正在构建一个优化的构建,我希望优化器能够摆脱延迟循环。是的,我也检查过了。入口点的cout会立即打印,然后第二个延迟,然后40个“a”会立即打印。这是一种无用的方法,而循环是一种可怕的尝试实现方式一个
sleep
函数。你的编译器很可能会完全消除它。即使循环没有优化,现代计算机在一眨眼之间就可以数到1000万。@ChintanGhate当它第二次传递你的代码时,它会看到你有几个其他东西不依赖的项,并且会意识到这是无用的l代码。当然,这通常不会在调试构建时完成(优化关闭),但即使如此,计数到1000万也会很快完成(正如Mike Seymour所指出的)。您确定初始延迟不仅仅是程序启动的延迟吗?请尝试在main()的入口点后立即放置cout语句看看它和第一个“a”之间是否有明显的延迟。如果你正在构建一个优化的构建,我希望优化器能够摆脱延迟循环。是的,我也检查过了。入口点的cout会立即打印,然后第二个延迟,然后40个“a”会立即打印。这是一种无用的方法,而循环是一种可怕的尝试实现方式一个
sleep
函数。你的编译器很可能会完全消除它。即使循环没有优化,现代计算机在一眨眼之间就可以数到1000万。@ChintanGhate当它第二次传递你的代码时,它会看到你有几个其他东西不依赖的项,并且会意识到这是无用的l代码。当然,这通常不会在调试构建时完成(优化关闭),但即使如此,计数到1000万也会很快完成(正如Mike Seymour所指出的)。您确定初始延迟不仅仅是程序启动的延迟吗?请尝试在main()的入口点后立即放置cout语句看看它和第一个“a”之间是否有明显的延迟。如果你正在构建一个优化的构建,我希望优化器能够摆脱延迟循环。是的,我也检查过了。入口点的cout会立即打印,然后第二个延迟,然后40个“a”会立即打印。这是一种无用的方法,而循环是一种可怕的尝试实现方式一个
sleep
函数。你的编译器很可能会完全消除它。即使循环没有优化,现代计算机在一眨眼之间就可以数到1000万。@ChintanGhate当它第二次传递你的代码时,它会看到你有几个其他东西不依赖的项,并且会意识到这是无用的l代码。当然,这通常不会在调试构建时完成(优化关闭),但即使如此,计数到1000万也会很快完成(正如Mike Seymour所指出的)。您确定初始延迟不仅仅是程序启动的延迟吗?请尝试在main()的入口点后立即放置cout语句看看它和第一个“a”之间是否有明显的延迟。如果你正在构建一个优化的构建,我希望优化器能够摆脱延迟循环。是的,我也检查过了。入口点的cout会立即打印,然后第二个延迟,然后40个“a”会立即打印。这是一种无用的方法,而循环是一种可怕的尝试实现方式一个
sleep
函数。你的编译器很可能会完全删除它。即使循环没有优化,现代计算机在眨眼间就可以数到1000万。@ChintanGhate当它第二次通过时
#include <iostream>

using namespace std;

int main ()
{
    for (int i = 0; i < 40; ++i)
    {
    unsigned long long j = 0;
    while(j++ <= 10000000);
    cout<<"A";
    }
    cout<<"\n";
   return 0;
}