区别
iostream.h与iostream是不同的。
#include<iostream.h>是在旧的标准C++中使用。在新标准中,用#include<iostream>。iostream的意思是输入输出流。#include<iostream>是标准的
C++
头文件
,任何符合标准的C++
开发环境
都有这个头文件。还要注意的是:在
V
C
编程时要添加:
using namespace std;
其原因是:后缀为.h的
头文件
C++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,C++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。因此,当使用<iostream.h>时,相当于在C中调用
库函数
,使用的是全局命名空间,也就是早期的C++实现;当使用<iostream>的时候,该
头文件
没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。
关系
<string.h>是旧的C
头文件
,对应的是基于char*的字符串处理函数;<string>是包装了std的C++头文件,对应的是新的string类;<cstring>是对应旧的C头文件的std版本。而<iostream.h>和<iostream>的关系,类似于<string.h>和<cstring>的关系,实现的功能是相同的,主要是是否使用命名空间std的区别。
使用建议
如果你的
编译器
同时支持<iostream>和<iostream.h>,那使用#include<iostream>,得到的是置于命名空间std下的iostream库的元素;如果使用 #include<iostream.h>,得到的是置于全局空间的同样的元素。在全局空间获取元素会导致名字冲突,而设计名字空间的初衷正是用来避免这种名字冲突的发生。还有,打字时<iostream>比<iostream.h>少两个字,所以通常来说,建议使用<iostream>。