维基百科输入/输出示例上的拼写错误

Typo on wikipedia input/output examples

本文关键字:错误 输出 输入 百科      更新时间:2023-10-16

我正在阅读维基百科的以下示例。

#include <iostream>
int main()
{
    std::cout << "Hello, world!n";
    return 0;
}

文章内容如下:

该程序将输出"Hello,world!",后跟换行符和 标准输出流缓冲区刷新。

我不认为这是正确的,因为'n'不需要std::flush.

我应该继续编辑将'n'更改为std::endl的文章吗?

否,当程序正常终止时,将刷新标准输出。(如果一个简单的"Hello, world"程序异常终止,你可能无能为力。不过,您可能希望澄清这一点(刷新发生在程序结束时,而不是在std::cout << ...调用时)。

而且return 0;是不必要的(但无害)。

默认情况下,cout流与 C 库的stdout流同步(即它们将共享相同的缓冲区)。C 标准规定stdout在写入交互式设备时将进行行缓冲或未缓冲。

这意味着默认情况下,如果输出是控制台等交互式设备,则n打印时cout将刷新。如果您调用std::cout.sync_with_stdio(false),它可能不再刷新。

除此之外,输出将在程序终止时刷新,如另一个答案所述。