我是编程的新手,我昨天开始自学,我已经得到了所有东西,但老实说,我做的不明白
之间的区别
std::cout << x;
和
std::cout << x << std::endl;
没有人向我解释这一点,我要求保持安全。
答案 0 :(得分:11)
endl
将新行写入流,因此后续输出将显示在下一行。它还会刷新流的缓冲区,通常为causing a slow-down。
此刷新意味着99%的时间endl
是错误的,您应该只写"\n"
(或'\n'
)。当你真的想要刷新流时,我认为最好通过调用std::flush
来明确这一点:
std::cout << x << '\n' << std::flush;
就运行时操作而言,这相当于使用std::endl
,但就明确表达意图而言,它显着优越。
答案 1 :(得分:0)
std::endl
向流添加换行符代码并刷新输出缓冲区,而std::cout << x
只是打印x
。
所以,如果你有一个代码
cout << 5;
cout << 5;
它将是
55
作为输出,但如果您向第一个endl
添加cout
,则输出将为
5
5
我真正建议您使用'\n'
它比endl更好。