4
4

2 回答 2

6

std::endl写入换行符,并刷新缓冲区。正如您所发现的,刷新可能是一项相当昂贵的操作。

于 2012-11-24T21:42:43.337 回答
2

endl有额外昂贵的flush()操作

27.7.3.8 标准 basic_ostream 操纵器 [ostream.manip]

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().
2 Returns: os.
于 2012-11-24T21:54:51.210 回答