Hello World
该程序将 Hello World!
打印到标准输出流:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
}
看到它住在 Coliru 。
分析
让我们详细研究一下这段代码的每一部分:
-
#include <iostream>
是一个预处理器指令,包含标准 C++头文件iostream
的内容。iostream
是标准库头文件,包含标准输入和输出流的定义。这些定义包含在std
名称空间中,如下所述。标准输入/输出(I / O)数据流提供程序来得到从输入和输出到外部系统的方法 -通常是终端。
-
int
main(){ ... }
定义了一个名为main
的新函数 。按照惯例,在执行程序时调用main
函数。在 C++程序中必须只有一个main
函数,它必须始终返回一些int
类型。这里,
int
就是所谓的函数返回类型 。main
函数返回的值是退出代码。按照惯例,
0
或EXIT_SUCCESS
的程序退出代码被执行程序的系统解释为成功。任何其他返回代码都与错误相关联。如果没有
return
语句,则main
函数(以及程序本身)默认返回0
。在这个例子中,我们不需要明确地写出return 0;
。除了返回
void
类型的函数之外的所有其他函数必须根据其返回类型显式返回值,否则根本不能返回。 -
std::cout << "Hello World!" << std::endl;
打印Hello World!
到标准输出流:-
std
是一个名称空间 ,::
是作用域解析运算符,它允许在名称空间中按名称查找对象。有许多名称空间。在这里,我们使用
::
来表示我们想要使用std
命名空间中的cout
。有关更多信息,请参阅范围解析运算符 - Microsoft 文档 。 -
std::cout
是标准的输出流对象,在iostream
中定义,它打印到标准输出(stdout
)。 -
<<
是,在这种情况下,所述流插入操作,所谓的,因为它插入的物体进入流对象。标准库定义
<<
运算符,以将某些数据类型的数据插入到输出流中。stream << content
将content
插入到流中并返回相同但更新的流。这允许链接流插入:std::cout << "Foo" << " Bar";
将FooBar
打印到控制台。 -
Hello World!
是一个字符串文字,或文字文字。字符串文字的流插入运算符在文件iostream
中定义。 -
std::endl
是一个特殊的 I / O 流操作器对象,也在文件iostream
中定义。将操作器插入流中会更改流的状态。流操作器
std::endl
做了两件事:首先它插入行尾字符,然后刷新流缓冲区以强制文本显示在控制台上。这可确保插入到流中的数据实际显示在控制台上。 (流数据通常存储在缓冲区中,然后批量刷新,除非你立即强制刷新。)避免刷新的另一种方法是:
std::cout << "Hello World!\n";
其中
\n
是换行符的字符转义序列。 -
分号(
;
)通知编译器语句已结束。所有 C++语句和类定义都需要一个结束/终止分号。
-