“\ n”或“\ n”或std :: endl到std :: cout?自从我std::endl在写作时停止使用结束行std::cout并开始使用以来已经很多年了"\n"。但现在我开始看到更多的代码片段'\n',我开始想知道什么是最好的。除了显而易见的是一个字符串,另一个字符,使用它有任何好处:std::cout << variable << '\n';在此:std::cout << variable << "\n";迟到:当我问这个问题时,我似乎认为换行'\n'刷新了缓冲区。现在我知道这取决于。默认情况下std::cin,绑定到旧的C stdin FILE*流,并std::cout绑定到stdout。新线上的冲洗来自这种搭售。默认情况下stdout,如果连接到终端,则进行行缓冲。这意味着新行将刷新其缓冲区。因此,当使用打印换行符std::cout时,将导致stdout刷新。如果stdout未连接到的终端(例如,输出已经被重定向或用管道输送),或者如果之间的联系std::cout和stdout被打破,则换行符将不刷新任何东西。
- 3 回答
- 0 关注
- 388 浏览
添加回答
举报
0/150
提交
取消