我从这里了解到,如果我要输出字符而不刷新缓冲区(使用endl或cin),则在程序结束之前它们不会出现在我的控制台上。
所以我尝试做一个无限循环:
for(;;)
{
std::cout << "a" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
和不刷新缓冲区相同:
for(;;)
{
std::cout << "a";
}
Run Code Online (Sandbox Code Playgroud)
它们都永远输出a,我可以观察到的唯一区别是后一个版本的代码在开始输出字母之前有一些延迟时间。第一个立即开始。
我期望第二个仅当break循环中有 a 时才输出字符,并且程序将被终止。