c++ - "std::endl"与 "\n"

标签 c++ coding-style iostream c++-faq

许多 C++ 书籍包含这样的示例代码...

std::cout << "Test line" << std::endl;

...所以我也一直这样做。但是我已经看到很多来自这样的工作开发人员的代码:

std::cout << "Test line\n";

是否有技术原因优先选择其中一个,还是仅仅是编码风格的问题?

最佳答案

假设文件以文本模式打开,除非您要求二进制文件,否则不同的行结束字符无关紧要。编译后的程序将为编译的系统写出正确的东西。

唯一的区别是 std::endl刷新输出缓冲区,而 '\n' 不会。如果您不想频繁刷新缓冲区,请使用 '\n'。如果你这样做(例如,如果你想获得所有输出,并且程序不稳定),请使用 std::endl

关于c++ - "std::endl"与 "\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585891/

相关文章:

c++ - ostream& operator<< 没有 flush() 的段错误

根据类型具有不同行为的 C++ 模板类

c++ - 什么是变量模板

python - 如何在Python中读取文档的特定部分

c++ - 'ios' : is not a class or namespace name

c++ fstream 在 1 个函数之后不起作用(通过引用)

c++ - 在每个可能的地方使用指针是一种好习惯吗?

c++ - 是否可以使用 clang 自动包含缺少的 c++ 头文件?

c# - 我应该使用 "this"来调用类属性、成员或方法吗?

c# - 实例变量放置?