1

今天,我的答案std::endl已被编辑并更改为\n

\n有什么优势吗?

4

3 回答 3

4

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().
于 2013-10-08T10:56:21.427 回答
0

是的,它不会刷新流,这可能是一个巨大的时间负担。

于 2013-10-08T10:54:29.523 回答
0

\n终止线路。std::endl终止该行刷新输出缓冲区。在大多数情况下,不断刷新输出缓冲区只会浪费时间。

于 2013-10-08T10:54:29.967 回答