繁体   English   中英

std :: cout << x之间的差异是什么? 和std :: cout <

[英]what is the diffrence between std::cout<< x ; and std::cout<<x<<std::endl;?

我是编程的新手,我昨天开始自学,我已经得到了所有东西,但老实说,我不明白它们之间的区别

std::cout << x;

std::cout << x << std::endl;

没有人向我解释这一点,我要求保持安全。

endl将新行写入流,因此后续输出将显示在下一行。 它还会刷新流的缓冲区,通常会导致速度变慢

这种刷新意味着99%的时间, endl是一个错误,你应该只写"\\n" (或'\\n' )。 当你真的想要刷新流时,我认为最好通过调用std::flush来使其显式化:

std::cout << x << '\n' << std::flush;

就运行时操作而言,这相当于使用std::endl ,但就使你的意图清晰而言,它是非常优越的。

std::endl为流添加换行代码并刷新输出缓冲区, std::cout << x只是打印x 所以,如果你有一个代码

cout << 5;
cout << 5;

这将是

55

作为输出,但如果你将endl添加到第一个cout ,输出将是

我真正推荐你的是使用'\\n'它比endl更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM