小编典典

"std::endl" 与 "\n"

all

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

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

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

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

是否有技术上的理由比另一个更喜欢一个,或者这只是编码风格的问题?


阅读 126

收藏
2022-03-04

共1个答案

小编典典

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

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

2022-03-04