iostream.h为非标准的输入输出流,这个.h的头文件是C语言格式的,由于当时还没有名字空间这个说法,所以也就不存在std这个名字空间标识符。自然用iostream.h也就用不着std或者using namespace std了;
iostream为标准输入输出流,它是C++规范的带有名称空间的头文件,它包含在std名字空间内。而iostream流里又包含cin和cout输入输出对象,所以使用cout的时候必须加std。
通过比较,我们了解到iostream是c++的头文件,而iostream.h是C语言格式的头文件,由于C++格式的iostream是规范的带有名字空间的头文件,所以在使用iostream标准库中的cout对象时要加上名字空间标识符std,而C格式的非标准的输入输出流iostream.h则不用。