最近在看題目中,發現有些代碼中用的是#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等等
#include 與#include 區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.