Why I Prefer '' to std::endl 译文
2011-10-08 15:55
309 查看
原文找自:新浪微博
译文:
为什么我喜欢用'\n'代替std::endl
两者都能达到同样的目的,获得一个新行。但是有一点不同,endl会引起输出缓冲区的重置,而同一地方用'\n'代替则不会重置。
所以你用下面的代码,向文件中输入大写英文字母表,
输出缓冲区将会被重置26次,然而同样的代码用'\n'代替endl,当程序结束时才会被重置1次。(假设输出缓冲区大于26字节)
注:译文如有不合适请留言,互相学习共同进步
译文:
为什么我喜欢用'\n'代替std::endl
两者都能达到同样的目的,获得一个新行。但是有一点不同,endl会引起输出缓冲区的重置,而同一地方用'\n'代替则不会重置。
所以你用下面的代码,向文件中输入大写英文字母表,
#include<iostream> #include<fstream> using namespace std; int main() { ofstream MyFileStream("Alphabets.txt",ios::out); for(char Index = 'A';Index <= 'Z';++Index) { MyFileStream <<Index <<endl; } return 0; }
输出缓冲区将会被重置26次,然而同样的代码用'\n'代替endl,当程序结束时才会被重置1次。(假设输出缓冲区大于26字节)
注:译文如有不合适请留言,互相学习共同进步
相关文章推荐
- error: no matching function for call to 'std::basic_ifstream<char>::open(std::string&)
- mconf.c:(.text+0x744): undefined reference to `stdscr' 当make menuconfig时
- Git: Why 'Everything up-to-date' when pushing
- I'm trying to understand the XML Spec: why doe....
- 【求助】 no matching function for call to `strcpy(std::string&, char*&)'
- gcc says: undefined reference to 'std::cout'
- The transaction log for database 'NJ_Address' is full. To find out why space in the log cannot be
- error: no matching function for call to 'std::basic_ifstream<char>::open(std::string&)
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题
- undefined reference to 'std::basic_string
- Why you don't want real-time analytics to be exact
- 去除Warning C4251 “class 'std::vector<_Ty>' needs to have dll-interface to be used by clients of class
- convert 'std::vector<>::iterator {aka __gnu_cxx::__normal_iterator<*, std::vector<> >}' to '*' in in
- warning C4251: 'vectortemp::m_Vector' : class 'std::vector' needs to have dll-interface to be used by clients of class 'vectorte
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题——gcc编译C++代码
- Google code: Why 'Everything up-to-date' when pushing (git)
- error: no matching function for call to 'std::basic_ifstream<char>::open(std::string&)
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题
- error C2440: 'initializing' : cannot convert from 'boost::filesystem3::path' to 'std::basic_string<_
- c++ error: reference to 'plus' is ambiguous ; template<class _Tp> struct std::plus