August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
C++是一种编译语言。这意味着要想使一个程序可以运行,首先必须将它从人类可读的格式转换为机器可以“理解”的东西。这个转换过程由一个称为编译器的程序来做。你可以读或写的东西被称为源代码或程序文本,计算机可以执行的东西被称为可执行代码、目标代码或机器代码。典型的C++源代码文件的后缀为.cpp(例如hello_world.cpp)或.h(例如std_lib_facilities.h),目标代码文件的后缀为.obj(在Windows中)或.o(在Unix中)。因此,仅用普通单词“代码”是模棱两可的并且会引起混淆;注意只有在可以明确表达含义时再使用它。除非特别说明,我们使用代码来表示“源代码”甚至“不包含注释的源代码”,这是由于注释只是供人类阅读的,在编译器生成目标代码时不会看到它。
编译器会阅读你的源代码,并且尽力理解你所写的内容。编译器会检查你的程序在语法上是否正确,每个单词是否有规定的含义,在程序中是否可以检测到明显的错误,而无须试图实际执行这个程序。你会发现计算机在语法上相当挑剔。忽略我们程序中的有些细节(例如#include文件、分号或大括号)将会引起错误。与此类似,编译器完全不会容忍拼写错误。我们将通过一系列例子来解释这些,在每个例子中有一个小错误。每个错误是我们经常犯的一种类型错误的例子:
我们没有包含任何文件来告诉编译器cout是什么,因此编译器会抱怨。为了纠正这个错误,让我们增加一个头文件:
不幸的是,编译器再次抱怨:我们拼写错了std_lib_facilities.h。编译器也不支持以下代码: ...