#include 與#include 區別

最近在看題目中,發現有些代碼中用的是#include<iostream>但是又和我們平時編寫c++代碼不同,因爲我們平時若像前面那樣用,說明我們用的是標準c++庫,但是後面要加上using namespace std;。或者我們也可以用#include<iostream.h>,但是我現在看的代碼都不是這兩種情況,感覺有點困惑,googel了一下。哈哈明白啦!

  把有關這方面的內容貼在這,和大家共享,也方便自己日後複習。呵呵

很多C++程序員還在使用而不是用更新的標準的庫。 
這兩者都有什麼不同呢?首先,5年前我們就開始反對把.h符號繼續用在標準的頭 
文件中。繼續使用過時的規則可不是個好的方法。從功能性的角度來講, 
<iostream>包含了一系列模板化的I/O類,相反地<iostream.h>只僅僅是支持字符 
流。另外,輸入輸出流的C++標準規範接口在一些微妙的細節上都已改進,因此, 
<iostream>和<iostream.h>在接口和執行上都是不同的。最後,<iostream>的各組 
成都是以STL的形式聲明的,然而<iostream.h>的各組成都是聲明成全局型的。 

因爲這些實質上的不同,你不能在一個程序中混淆使用這兩個庫。做爲一種習 
慣,在新的代碼中一般使用<iostream>,但如果你處理的是過去編寫的代碼,爲了 
繼承可以用繼續用<iostream.h>舊保持代碼的一致性。 



/////////////////// 

<iostream>表示你使用的是標註命名空間,也就是在程序開始應該有這麼一句話 
using namespace std ; 
這是遵循c++標準的 
<iostream.h> 
則沒有遵循c++標準 
//////////////// 
<string.h>是舊的C頭文件,對應的是基於char*的字符串處理函數; 
<string>是包裝了std的C++頭文件,對應的是新的strng類; 
<cstring>是對應舊的C頭文件的std版本。

#include <iostream.h>  
  #include <iostream>  
  前一個不是c++標準中的,後一個在c++標準中

還有就是平時我們所用的兩種情況,當有輸出和輸入流時就要注意了。

換成#include <iostream>的話,要加一句using namespace std;  
  或把cout改成std::cout,end改成std::endl等等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章