<iostream>包含了一系列模板化的I/O类,
相反地 <iostream.h>只仅仅是支持字符流。
另外,输入输出流的C++标准规范接口在一些微妙的细节上都已改进,
因此,<iostream>和 <iostream.h>在接口和执行上都是不同的。最后, <iostream>的各组成都是以STL的形式声明的,然而 <iostream.h>的各组成都是声明成全局型的。
因为这些实质上的不同,你不能在一个程序中混淆使用这两个库。做为一种习惯,在新的代码中一般使用 <iostream>,但如果你处理的是过去编写的代码,为了继承可以用继续用 <iostream.h>旧保持代码的一致性。在 C++ 标准化的过程中, C++ Standard Library headers的文件名, 全部都不含 file extension. 同时, 所有的名字都放在 'std' 这个 namespace 里面.
如果可能的话, 不要用 VC++6.0。 6.0版出来的时候, C++还没标准化. 6.0 的 C++ Standard Library 是老标准的版本,存在很多的 bug.
VC++ 7.1版以后已经遵循了标准化!
<iostream.h>则没有遵循c++标准
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数;
<string>是包装了std的C++头文件,对应的是新的strng类;
<cstring>是对应旧的C头文件的std版本。