C++基础知识(2)
作为接口的函数头
c++函数可被其他函数激活或调用,函数头描述了函数与调用它的函数之间的接口。
在c语言中,省略返回类型相当于说函数的类型为int,然而,c++逐步淘汰了这种用法
也可以使用下面的变体:
int main(void)
在括号中使用关键字void明确地指出,函数不接受任何参数,在c++(不是c)中,让括号空着与在括号中使用void等效(在c中,让括号空着意味着对是否接受参数保持沉默)
如果编译器到达main()函数末尾时没有遇到返回语句,则认为main()函数以如下语句结尾:
return 0;
这条隐含的返回语句只适用于main()函数,而不适用于其他函数
c++预处理器和iostream文件
c++和c一样,也使用一个预处理器,该程序在进行主编译之前对源文件进行处理,有些c++实现适用翻译器程序将c++程序转换为c程序,虽然翻译器也是一种预处理器,但这里不讨论这种预处理器,而只讨论这样的预处理器,即它处理名称以#开头的编译指令,不必执行任何特殊的操作来调用该预处理器,它会在编译程序时自动运行。
#include <iostream>
该编译指令导致预处理器将iostream文件的内容添加到程序中,这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本
#include <iostream>编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行#include <iostream>,原始文件没有被修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件
头文件名
像iostream这样的文件叫做包含文件(include file),由于它们被包含在其他文件中;也叫头文件(header file),由于它们被包含在文件起始处,c语言的传统是,头文件使用扩展名h,将其作为一种通过名称标识文件类型的简单方式,例如,头文件math.h支持各种c语言数据函数,但c++用法变了,现在对老式c的头文件保留了扩展名h(c++程序仍可以使用这种文件),而c++头文件则没有扩展名,有些c头文件被转换为c++头文件,这些文件被重新命名,去掉了扩展名h(使之成为c++风格的名称),并在文件名称前面加上前缀c,标明来自c语言
c++旧式风格 以.h结尾 iostream.h c++程序可用
c旧式风格 以.h结尾 math.h c、c++程序可用
c++新式风格 没有扩展名 iostream c++程序可以使用,使用namespace std
转换后的c 加上前缀c,没有扩展名 cmath c++程序可以使用,可以使用不是c的特性,如namespace std