今天,我的答案std::endl
已被编辑并更改为\n
。
\n
有什么优势吗?
std::endl
调用flush
流 whilecout << "\n"
不会刷新流,因此cout << "\n";
可以获得更好的性能,尤其是在循环调用它时。
§27.7.3.8标准 basic_ostream 操纵器
namespace std {
template <class charT, class traits>
basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os);
}
1 Effects: Calls os.put(os.widen(’\n’)), then os.flush().
是的,它不会刷新流,这可能是一个巨大的时间负担。
\n
终止线路。std::endl
终止该行并刷新输出缓冲区。在大多数情况下,不断刷新输出缓冲区只会浪费时间。