據我所知,將std::endl
轉換爲std::cout
會刷新它。我明白,這種行爲對大多數應用程序都有意義。手動刷新cout只有
我的問題是,我有一些輸出使用多個std::endl
's並因此刷新輸出。這對於我的程序的性能來說真的很糟糕,並且由於我跳了很多,所以還導致了很多圖形故障。
所以我的問題是,如果我可以告訴std::cout
與下次的沖水等到我明確地調用std::cout.flush()
或流std::flush
到std::cout
。
如果這是可能的,我也想知道我可以如何扭轉這種情況,因爲它對我來說並不總是合情合理的。
'std :: endl'是對'std :: ostream :: flush'的明確調用,然後寫入一個換行符。如果你不想'std :: endl'來刷新,不要使用'std :: endl'。 – 0x499602D2
@ 0x499602D2 *「'std :: endl'是對'std :: ostream :: flush'的明確調用,然後寫入換行符」* - 完全相反...... newline * then * flush。 –