今天,我的答案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终止该行并刷新输出缓冲区。在大多数情况下,不断刷新输出缓冲区只会浪费时间。