我是C ++的新手,据我所知,使用转义序列'\n'
不会刷新输出缓冲区(使用时会发生这种情况endl
),但在我的情况下,是使用qt-creator下的F11(进入)调试以下程序Ubuntu 14.04,该函数的输出(即5
)直接输出到控制台。
#include <iostream>
void printValue(int nValue)
{
std::cout << nValue << '\n';
}
int main()
{
using namespace std;
printValue(5);
return 0;
}
当我'\n'
从行号的输出中删除时。5,输出推迟到执行结束。
是的,endl
将导致刷新,但这并不意味着缓冲区由于其他原因无法决定刷新自身。请参阅此参考,特别是以下内容:
在许多实现中,标准输出是行缓冲的,并且写'\ n'仍然会导致刷新
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句