→ janice001: 誰這樣告訴你的? 05/03 23:31
推 nowar100: 很多時機都會flush ,不只endl 05/03 23:39
→ zoooooa: 在linux下只用cout不加endl就不會有字串輸出到螢幕上 05/03 23:42
→ zoooooa: 好奇為何在windows上卻有不同執行結果 05/03 23:43
推 LPH66: 標準只規定 << flush 時要沖馬桶, 沒規定其他時候沖不沖 05/04 00:10
推 loveflames: 串一下stderr,參考一下好幾年前我po的那篇 05/04 01:20
推 black17: endl是換行的意思吧!? 05/04 02:10
→ Caesar08: 換行+flush 05/04 08:41
→ fatrabitree: endl 是換行 會flush是因為cout是line buffered吧? 05/04 09:16
推 loveflames: 10252那篇結論我想講的很清楚了 05/04 09:33
→ loveflames: 單純只是windows沒分配buffer 05/04 09:34
→ Caesar08: cppreference, Inserts a newline character into the o 05/04 09:57
→ Caesar08: utput sequence漑s乸nd flushes it as if by calling漑s 05/04 09:57
→ Caesar08: N4582, 27.7.3.8, 1, Calls os.put(os.widen(’\n’)), 05/04 09:57
→ Caesar08: then os.flush(). 05/04 09:57
推 loveflames: 原文問的是windows沒加endl為何會輸出,樓上丟endl不 05/04 10:03
→ loveflames: 是文不對題嗎 05/04 10:03
→ Caesar08: 我在回那兩位不知道endl是甚麼的 05/04 10:12
→ Caesar08: 標準只規定flush要sync,以及使用相對的in與err要flush 05/04 10:15
→ Caesar08: ,沒說其他情況不能flush(例如單純呼叫operator<<) 05/04 10:15
推 loveflames: 印象中標準沒規定不能flush的情況,反而一堆地方有規 05/04 10:26
→ loveflames: 定會flush,例如exit() 05/04 10:27
推 longlongint: 因為你只用過eclipse啊(? 05/04 12:17
推 eye5002003: 所以有時候會寫成cout<<"123\n";反正一樣結果 05/11 21:29
推 loveflames: 回樓上,遇到fully buffered行為就不一樣了 05/12 11:49