ringa_lee
cout的話, 是行級緩衝, 只要碰到換行符就會flush一次. 但是cout物件在析構的時候也會flush一次. 你那個例子裡面, 在return 0之前cout物件需要析構一次. cerr的話, 已經忘了APUE裡面怎麼說的了, 調試下來發現沒有緩衝.....
多執行緒的時候你就體會到了,如果不清楚緩存,A執行緒的日誌可能會在B執行緒被印出來
cout的話, 是行級緩衝, 只要碰到換行符就會flush一次. 但是cout物件在析構的時候也會flush一次. 你那個例子裡面, 在return 0之前cout物件需要析構一次.
cerr的話, 已經忘了APUE裡面怎麼說的了, 調試下來發現沒有緩衝.....
多執行緒的時候你就體會到了,如果不清楚緩存,A執行緒的日誌可能會在B執行緒被印出來