包含iostream和包含iostream.h有什么区别?

时间:2013-01-17 22:48:24

标签: c++

  

可能重复:
  Difference between iostream and iostream.h

我的教授说了以下几点:

#include <iostream.h>  

与:

相同
#include <iostream>
using namespace std;  

我有点困惑。 iostreamiostream.h之间有什么区别?

2 个答案:

答案 0 :(得分:8)

iostream.h不是标准C ++库的一部分,而iostream是。iostream.hstd中的名称不在iostream名称空间中,而using namespace std中的名称不在iostream名称空间中。通过在包含iostream之后发出指令iostream.h,将在那里定义的所有名称(以及任何其他标准库中包含的名称)都带入全局名称空间。这通常不是一件好事,但它确实提供了标准版和非标准版之间的某种程度的等效性。

至于声称它们彼此“相同”,这是不太可能的。 {{1}}遵守标准,并且将会进化为w.r.t. {{1}}。如果考虑C ++ 11标准,则尤其如此。

答案 1 :(得分:1)

一些非常旧的编译器使用了iostream.h,但它不是标准的一部分。只有无扩展头文件。现代标准兼容编译器甚至无法识别它。