首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.2   代码的含义

让我们简要分析构成“Hello World”程序的六行代码。

第一行是注释。无论何时当编译器遇见一个“//”时,它将会忽略从那儿开始一直到该行结束的所有东西。注释是用来给人以及一些专门的代码分析工具看的,而并不是给编译器看的。本例中的注释几乎是多余的,包含它只是为了演示其用法而已。

第二行告诉编译器,接下来的代码可能使用C++标准库“与经由控制台进出的流数据(streaming data)有关的部分”里的名字。我们把尖括号内的内容称为“头”(header),它告诉编译器从它保存这种细节内容的地方获取有关信息。不同的编译器可用不同的方式获取信息。在实践中,头通常是位于编译器某一子目录中的一个文本文件。(倘若感兴趣,你可以在MinGWStudio\MinGW\include\c++\3.4.2中找到相应的iostream文件,但我认为目前这对你没什么意义。)

空行无实际意义,它的存在纯粹是为了将源代码引介性的部分同其余部分隔离开。下一行(int main(){)必须在每个程序中存在且只存在一次。事实上它决定了程序从哪里开始。还有其他一些main()的变种,允许在程序启动时通过参数接受一些数据,我们的例子不考虑它们。

第五行是程序的实质部分。std::cout是控制台输出对象的名字。换句话说,它是一个名字,我们用此名字来指定一个表示计算机上控制台的对象。控制台通常是监视器屏幕上的一个窗口。此名字中双冒号之前的部分表明,我们正在处理一个来自C++标准库的名字。

语言注解:C程序员可能将 << 认作左移位(left-shift)操作符。在输出对象或目标的上下文中,C++将此操作符作为流操作符重新利用,用于将数据插入到一个输出流中。

引号内的文本告诉编译器你希望将这些文本显示出来。我们将这些括起来的文本称为字符串字面量(string literal)。该语句的最后一个元素是分号。它表示语句终止,其作用类似于英文中的句号。省略它并编译代码试试,你将会看见由此导致的那一类错误消息。

该程序的最后一行是一个简单的结束花括号,与main所在那行代码末尾的开始花括号相匹配。一般而言,我们将一对开始到结束的花括号之间的代码称作一个“语句块(block)”。在此上下文中,开始花括号到结束花括号之间的代码,是我们使用的这一版本的main的定义,它指定了程序在执行时会发生什么事情。我们把定义了一个函数的块称作“函数体(function body)”。因此

是函数main()的主体。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论