少用點endl
C++給我們提供了一個換行的函數endl函數,不知道該不該叫函數,這個是在STLPort中的實現。
1 _CRTIMP inline basic_ostream<wchar_t, char_traits<wchar_t> >&
2 __cdecl endl(basic_ostream<wchar_t,
3 char_traits<wchar_t> >& _O)
4 {_O.put('\n');
5 _O.flush();
6 return (_O); }
大家看到沒有,它的工作其實就是輸出一個“\n”,不過后面又帶了一句
flush(),這一句是強制刷新緩沖區的,如果每次輸出都刷新緩沖區那就會影響到程序的性能,無法使用緩沖區的優點,所以使用的時候考慮是不是在很多地方需要endl,如果可以還是換成 “\n”吧,個人觀點,歡迎交流。