少用点endl

少用点endl

少用点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”吧,个人观点,欢迎交流。

你可能感兴趣的:(少用点endl)