章节目录

第2章总结

本节阅读量:

章节回顾

函数是一个可重用的语句序列,旨在完成特定的工作。自己编写的函数称为用户定义函数。

函数调用是一个告诉CPU执行函数的表达式。发起函数调用的函数是调用者,而被调用的函数则是被调用者或被调用函数。进行函数调用时,要记得带括号。

函数定义中的花括号和语句称为函数体。

函数的返回类型指示函数返回的值的类型。return语句确定返回给调用方的特定返回值。返回值从函数复制给调用者——此过程称为按值返回。返回值非void的函数,未指定返回值将导致未定义的行为。

函数main的返回值称为状态码,用来告诉操作系统(以及调用您的程序的任何其他程序)您的程序是否成功执行。根据共识,返回值0表示成功,非零返回值表示失败。

练习DRY(dont repeat yourself)编程——“不要重复自己”。利用变量和函数删除冗余代码。

返回类型为void的函数不向调用方返回值。不返回值的函数称为void函数。在需要返回值的地方不能调用Void函数。

函数return时会立即返回调用方,即使这句不是最后一个语句。

函数参数是函数中使用的变量,值由函数的调用方提供。将参数复制给具体的函数调用,称为按值传递。

函数体中定义的函数参数和变量称为局部变量。变量的实例存在的时间称为其生命周期。变量的实例在运行时创建和销毁。变量的作用范围决定了它可以在哪里看到和使用。当一个变量可以被看到和使用时,我们说它在作用域内。当不被看见时,就不能使用,即它超出了作用域。作用域是编译时属性,意味着它在编译时强制检查。

前向声明允许在实际定义标识符之前告诉编译器标识符的存在。为了编写函数的前向声明,我们使用函数原型,其中包括函数的返回类型、名称和参数,但没有函数体,后面跟着分号。

定义实际上是实现(对于函数和类型)或实例化(对于变量)标识符。声明是一个语句,告诉编译器标识符的存在。在C++中,所有定义都用作声明。纯声明则不是定义的声明(例如函数原型)。

大多数有价值的程序都包含多个文件。

当两个标识符以编译器或链接器无法区分的方式引入同一程序时,编译器或链接程序将由于命名冲突而出错。命名空间中的所有标识符都是唯一的。std命名空间就是这样一个命名空间。

预处理器是在编译代码之前处理代码的进程。预处理指令是预处理器的特殊指令。预处理指令以#符号开头,以换行符结尾。宏是定义如何将输入文本转换为替换输出文本的规则。

头文件是设计用于将声明传播到代码文件的文件。使用#include指令时,#include指令被对应的文件内容替换。引用头文件时,系统头文件(例如C++标准库中的头文件)使用尖括号,用户定义的头文件使用双引号。

头文件保护可防止头文件的内容重复包含在给定的一个代码文件中。但不会阻止头文件的内容包含在多个不同的代码文件中。


2.12 设计第一个程序

上一节

3.0 语法和语义错误

下一节