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