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

eve*_*veo 0 c++

可能重复:
iostream和iostream.h之间的区别

我的教授说以下内容:

#include <iostream.h>  
Run Code Online (Sandbox Code Playgroud)

是相同的:

#include <iostream>
using namespace std;  
Run Code Online (Sandbox Code Playgroud)

我有点困惑.iostream和之间有什么区别iostream.h

jua*_*nza 8

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

至于声称它们彼此"相同",这是不可能的.iostream坚持标准,并将演变为wrt iostream.h.如果考虑C++ 11标准,则尤其如此.