【发布时间】:2015-05-19 00:43:39
【问题描述】:
据我所知,将std::endl 流式传输到std::cout 会刷新它。我知道这种行为对大多数应用程序都是有意义的。
我的问题是我有一些使用多个std::endl 的输出,因此刷新了输出。这对我的程序的性能非常不利,并且还会导致很多图形故障,因为我经常跳来跳去。
所以我的问题是我是否可以告诉std::cout 等待下一次刷新,直到我明确调用std::cout.flush() 或将std::flush 流式传输到std::cout。
如果可能的话,我也想知道如何才能扭转这种情况,因为这对我来说并不总是有意义的。
【问题讨论】:
-
std::endl是对std::ostream::flush的显式调用,后跟换行符。如果您不希望std::endl刷新,请不要使用std::endl。 -
@0x499602D2 "
std::endl是对std::ostream::flush的显式调用,然后写一个换行符" - 完全相反...换行符然后 冲洗。