我是编程的新手,我昨天开始自学,我已经得到了所有东西,但老实说,我不明白它们之间的区别
std::cout << x;
Run Code Online (Sandbox Code Playgroud)
和
std::cout << x << std::endl;
Run Code Online (Sandbox Code Playgroud)
没有人向我解释这一点,我要求保持安全.
Jer*_*fin 11
endl将新行写入流,因此后续输出将显示在下一行.它还会刷新流的缓冲区,通常会导致速度变慢.
这种刷新意味着99%的时间endl是错误的,你应该只写"\n"(或'\n').当你真的想要刷新流时,我认为通过调用来改变它是更好的std::flush:
std::cout << x << '\n' << std::flush;
Run Code Online (Sandbox Code Playgroud)
就运行时操作而言,这相当于使用std::endl,但就使您的意图明确而言,它具有极大的优势.