今天我的answer已修改,std::endl
已更改为\n
。
\n
有什么优势吗?
答案 0 :(得分:4)
std::endl
调用flush
流而cout << "\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().
答案 1 :(得分:0)
是的,它不会冲洗流,这可能是一个巨大的时间负担。
答案 2 :(得分:0)
\n
终止该行。 std::endl
终止行并刷新输出缓冲区。在大多数情况下,不断刷新输出缓冲区只会浪费时间。