2013-01-17 84 views
0

可能重複:
Difference between iostream and iostream.h包含iostream和包含iostream.h有什麼區別?

我的教授說,以下:

#include <iostream.h> 

是一樣的:

#include <iostream> 
using namespace std; 

我有點困惑。 iostreamiostream.h之間的區別是什麼?

+5

'iostream.h'不是真實的。 – chris

+11

你是教授,需要脫離1988年,加入我們其他人。 – WhozCraig

+0

許多標準的C頭文件(如'')有一個C++等價物(比如''),它將C函數包裝在'namespace std'中,但'iostream'不是其中的一個。 –

回答

8

iostream.h不是標準C++庫的一部分,而iostream是。 iostream.h中的名稱不在std命名空間中,而iostream中的名稱是。通過在包含iostream之後發佈指令using namespace std,那裏定義的所有名稱(以及任何其他標準庫都包含)將被引入全局名稱空間。這通常不是一件好事,但它確實在標準和非標準或預標準版本之間提供了一定程度的等同。

至於聲稱他們彼此「相同」,這是不太可能的。 iostream堅持標準,並將發展w.r.t. iostream.h。如果考慮C++ 11標準,這一點尤其重要。

1

一些很老的編譯器使用了iostream.h,但它不是標準的一部分。只有擴展名的頭文件是。它甚至不會被現代的符合標準的編譯器所認可。

相關問題