C++ 你好,世界
示例
该程序将打印你好,世界!到标准输出流:
#include <iostream> int main() { std::cout << "你好,世界!" << std::endl; }
在Coliru上实时观看。
分析
让我们详细检查这段代码的每个部分:
#include<iostream>是一个预处理程序指令,其中包括标准C++头文件的内容iostream。
iostream是一个标准库头文件,其中包含标准输入和输出流的定义。这些定义包含在std名称空间中,如下所述。
的标准输入/输出(I/O)数据流提供各种方式获得程序来获得从输入和输出到外部系统-通常是终端。
intmain(){...}定义了一个名为的新函数main。按照惯例,该main函数在程序执行时被调用。mainC++程序中只能有一个函数,并且它必须始终返回一个int类型的数字。
在这里,int所谓的函数的返回类型。该函数返回的值main是退出代码。
按照惯例,执行该程序的系统会将程序退出代码0或EXIT_SUCCESS解释为成功。其他任何返回码都与错误相关。
如果不return存在任何语句,则默认情况下main返回该函数(因此,程序本身)0。在此示例中,我们无需显式编写return0;。
除返回void类型的那些函数外,所有其他函数必须根据其返回类型显式返回一个值,否则必须完全不返回。
std::cout<<"你好,世界!"<<std::endl;打印“HelloWorld!”到标准输出流:
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++语句和类定义都需要一个结束/终止分号。