第二章简要介绍了C/C++编程的基本核心概念,如mani函数,函数头、函数体的概念,非常重要。
函数头包括函数名称、形参个数及类型,还有返回值类型。返回类型虽然不能作为函数签名(function signature)的一部分,但是对检查编程语法/语义很重要。
C++要求在函数调用(function application)之前,要先声明,就是告诉编译器函数的原型(function prototype)。这样,在遇到函数调用的地方就能检查是否匹配。
函数声明,一般放在头文件中,或者放在main之前,一般形式为typename FunctionName (parameter list)。
函数定义,一般放在单独的.cpp文件中,或main函数之后。它包括函数签名和函数体。函数体用花括号(“ { }”)括起来,包含单个或多个语句(statement)。每个语句执行一系列的操作(operation),如定义对象、调用输入/输出、执行运算操作或调用其他函数等。最后,一般有个返回语句。如果该函数返回类型为void,则不需要return语句。每条语句必须以分号(;)结尾。
变量在使用前也必须声明,它的作用与函数声明有些区别。变量声明时,编译器为该变量分配内存空间,相当于调用了对应类型的构造函数,当该变量生命周期结束时,系统将自动调用析构函数,释放对应的内存空间。
对C++编程来说,要试图将语言提供的内置数据类型(int、float、vector、array、struct等),和自定义的类同等对待,在概念上将它们统一起来,在编程规范尽量保持一致。
C++标准库提供了多个通用的函数库,如math、iostream、string等,是经过严格测试并且得到C++标准委员会认可的(所以称为standard librarian)。绝大部分的时候,编程就是对标准库的调用过程。
还介绍了名称空间(namespace),这是C语言不曾涉及的,是为了避免在编写大型程序时的名称冲突。