C++ 你好,世界

示例

该程序将打印你好,世界!到标准输出流:

#include <iostream>

int main()
{
    std::cout << "你好,世界!" << std::endl;
}

在Coliru上实时观看。

分析

让我们详细检查这段代码的每个部分:

  • #include <iostream>是一个预处理程序指令,其中包括标准C ++头文件的内容iostream。

    iostream是一个标准库头文件,其中包含标准输入和输出流的定义。这些定义包含在std名称空间中,如下所述。

    标准输入/输出(I / O)数据流提供各种方式获得程序来获得从输入和输出到外部系统-通常是终端。

  • int main() { ... }定义了一个名为的新函数main。按照惯例,该main函数在程序执行时被调用。mainC ++程序中只能有一个函数,并且它必须始终返回一个int类型的数字。

    在这里,int所谓的函数的返回类型。该函数返回的值main是退出代码。

    按照惯例,执行该程序的系统会将程序退出代码0或EXIT_SUCCESS解释为成功。其他任何返回码都与错误相关。

    如果不return存在任何语句,则默认情况下main返回该函数(因此,程序本身)0。在此示例中,我们无需显式编写return 0;。

    除返回void类型的那些函数外,所有其他函数必须根据其返回类型显式返回一个值,否则必须完全不返回。

  • std::cout << "你好,世界!" << std::endl;打印“ Hello World!” 到标准输出流:

    • std是一个名称空间,并且::是作用域解析运算符,它允许在名称空间中按名称查找对象。

      有很多名称空间。在这里,我们::用来表明我们要cout在std命名空间中使用。有关更多信息,请参阅“范围解析运算符-Microsoft文档”。

    • std::cout是在中定义的标准输出流对象,iostream并打印到标准输出(stdout)。

    • <<是,在这种情况下,所述流插入操作,所谓的,因为它插入的物体进入对象。

      标准库定义了<<运算符,用于将某些数据类型的数据插入到输出流中。stream << content插入content流中并返回相同但已更新的流。这允许链接流插入:将std::cout << "Foo" << " Bar";“ FooBar”打印到控制台。

    • "你好,世界!"是字符串文字或“文字文字”。字符串文字的流插入运算符在file中定义iostream。

    • std::endl是一个特殊的I / O流操纵器对象,也定义在file中iostream。将操纵器插入流中会更改流的状态。

      流操纵器std::endl执行两件事:首先,它插入行尾字符,然后刷新流缓冲区,以强制文本显示在控制台上。这样可以确保插入到流中的数据实际出现在控制台上。(流数据通常存储在缓冲区中,然后分批“刷新”,除非立即强制刷新。)

      避免刷新的另一种方法是:

      std::cout << "你好,世界!\n";

      换行符\n的字符转义序列在哪里。

    • 分号(;)通知编译器语句已结束。所有C ++语句和类定义都需要一个结束/终止分号。