目前我正在自学C++.
C++入门说:
cout << "hi!" << ends; //writes hi and a null, then flushes the buffer
Run Code Online (Sandbox Code Playgroud)
但是C++标准库第二版说:
ends: Outputs '\0'
Run Code Online (Sandbox Code Playgroud)
而cplusplus上的引用也没有提到刷新缓冲区.
那么我应该遵循哪一个?
Run Code Online (Sandbox Code Playgroud)namespace std { template <class charT, class traits> basic_ostream<charT,traits>& endl(basic_ostream<charT,traits>& os); }效果:
os.put(os.widen(’\n’))然后调用os.flush().返回:os.Run Code Online (Sandbox Code Playgroud)namespace std { template <class charT, class traits> basic_ostream<charT,traits>& ends(basic_ostream<charT,traits>& os); }效果:在输出序列中插入空字符:调用
os.put(charT()).返回:os.
标准非常清楚,std::endl刷新流,但std::ends事实并非如此.
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |