学习笔记【1】——C++中"\n"与endl的区别是什么?
2018-03-01 18:36
211 查看
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; return 0; }
此处可以用"\n"代替 endl
解释:
"\n" 表示内容为一个回车符的字符串。std::endl 是流操作子,输出的作用和输出 "\n" 类似,但可能略有区别。
std::endl 输出一个换行符,并立即刷新缓冲区。
例如:
std::cout << std::endl;
相当于:
std::cout << '\n' << std::flush; 或者 std::cout << '\n'; std::fflush(stdout);
由于流操作符 << 的重载,对于 '\n' 和 "\n",输出效果相同。
对于有输出缓冲的流(例如cout、clog),如果不手动进行缓冲区刷新操作,将在缓冲区满后自动刷新输出。不过对于 cout 来说(相对于文件输出流等),缓冲一般体现得并不明显。但是必要情况下使用 endl 代替 '\n' 一般是个好习惯。
对于无缓冲的流(例如标准错误输出流cerr),刷新是不必要的,可以直接使用 '\n'。
相关文章推荐
- C++中"\n"与endl的区别是什么?
- C++中"\n"与endl的区别是什么?
- C++学习笔记之"类和对象I"
- C++基础学习笔记----第十四课(new和malloc的区别、单例模式等深入)
- 新手学习C++笔记3:调试错误之C与C++的区别
- 黑马程序员_学习笔记25_string.Empty Null ""之间的区别
- C++ Data Structure 学习笔记 (2011.5.3)——传值,指针,引用的区别及Vector与String的详细用法
- C/C++学习笔记1 - 深入了解scanf()/getchar(cin、cin.get()、cin.getline()、getline()、gets()、getchar()的区别 (OJ时候会用到)
- Go语言学习笔记、Go和C++区别
- c++学习笔记之c/c++两种语言初始化变量区别
- <C++学习笔记>引用中的&和&&区别
- Java 学习笔记-基础-"=="和equals()的区别。
- C++学习笔记之结构体与类的区别
- C++学习笔记之覆盖、重载、多态的区别
- C++学习笔记9,堆栈与堆的区别
- OpenGL学习笔记[2]:#include< >和#include" "的区别
- abstract class和interface有什么区别 ---学习笔记
- Java和C++的区别是什么呢,我们为什么要学习JAVA
- C++学习笔记-类定义的注意事项和C#的区别
- c++中"endl"和"\n"的区别