1.2.3 新头文件格式和名称空间

由于 iostream.h 是 C++的头文件,因此这些文件是以“.h”为扩展名,以便与其他文件类型相区别,但这是C 语言的头文件格式。尽管ANSI/ISO C++仍支持这种头文件格式,但已不建议再采用,即包含头文件中不应再有“.h”这个扩展名,而应使用C++的iostream。例如:

#include <iostream>

但为了使iostream中的定义对程序有效,还需使用下面名称空间编译指令来指定:

using namespace std;                  // 注意不要漏掉后面的分号

using 是一个在代码编译之前处理的指令。namespace 称为名称空间,它是 ANSI/ISO C++一个新的特性,用于解决在程序中同名标识存在的潜在危机。由于iostream是ANSI/ISO C++标准组件库,它所定义的类、函数和变量均放入名称空间 std 中,因此需要在程序文件的开始位置处指定“using namespace std;”,以便能被后面的程序所用。

事实上,cin和cout就是std中已定义的流对象,若不使用“using namespace std;”,则还可采用下列两种方式来指定。

第1种方式是在使用前用下列代码来指定:

using std::cout;                      // 指定以后的程序中可以使用cout对象
using std::cin;                       // 指定以后的程序中可以使用cin对象

第2种方式是在调用时指定它所属的名称空间,如下述格式:

std::cout<<"输入圆的半径:";           //::是域作用运算符,表示cout是std域中的对象
std::cin>>r;

显然,用下列两句代码来替代 C 语言风格的头文件包含#include <iostream.h>是一种最为简捷的做法,这也是本书所采用的方法。

#include <iostream>
using namespace std;z