Oo緣來是你oO


          posts - 120,comments - 125,trackbacks - 0
          轉自: http://blog.sina.com.cn/m/majianan (我的新浪Blog)
          前一段時間在自學C++,現(xiàn)在工作了用Java,不過以前寫的一些文章自我感覺還不錯,哈哈,就轉來這里,大家多提意見。
          蠻喜歡這個Blog。


          ????????????????????????????????????????? < iostream > 和 < iostream.h > 的區(qū)別

          關鍵詞:< iostream > 和 < iostream.h >
          ?
          你寫程序的時候,用< iostream >還是< iostream.h >?
          你知道它們有什么區(qū)別么?還是認為他們根本就是一樣的?
          下面聽我給你吹(文中純屬個人言論,不涉及國家機密,請放心閱讀,若轉載請注明出處作者^-^)
          ????????????????????????????? ---majianan
          ?
          ?
          其實沒有< iostream.h >這樣的東西 --- 標準化委員會在簡化非C標準頭文件時用< iostream > 取代了它。但又沒有完全取消< iostream.h >的使用,并且很多編譯器都同時支持< iostream >和< iostream.h >,造成現(xiàn)在的局面,老大(標準化委員會)確實有不得已的苦衷。
          ?
          話說當年,在標準化委員會動手重建新的標準庫的時候,遇到了問題。為了避免類名函數(shù)名的沖突問題,引入了名字空間std,但無數(shù)現(xiàn)有的C++代碼都依賴于使用了多年的偽標準庫中的功能,例如,聲明在< iostream.h >和< complex.h >等頭文件中的功能。現(xiàn)有軟件沒有針對使用名字空間而進行相應的設計或者升級,如果用std來包裝標準庫導致現(xiàn)有代碼不能使用,那手底下的小弟(程序員)是不會同意的。
          ?
          標準化委員會為了拉攏人心,吸引更多的人入會,決定為包裝了std的那部分標準庫構建新的頭文件名。將現(xiàn)有C++頭文件名中的.h去掉,所以就出現(xiàn)了< iostream.h>和< iostream >等很多雙胞胎。對于C頭文件,采用同樣方法但在每個名字前還要添加一個C,所以C的<string.h>變成了<cstring>。
          ?
          舊的C++頭文件是官方明確反對使用的,但舊的C頭文件則沒有(以保持對C的兼容性)。其實編譯器制造商不會停止對客戶現(xiàn)有軟件提供支持,所以在可以預計的將來,舊的C++頭文件還會囂張一段時間。
          ?
          如果能明白字符串頭文件的使用,舉一反三,其他的也差不多會用了。
          ?
          <string.h>是舊的C頭文件,對應的是基于char*的字符串處理函數(shù);
          <string>是包裝了std的C++頭文件,對應的是新的strng類;
          <cstring>是對應舊的C頭文件的std版本。
          ?
          好像跑遠了,言歸正傳。如果你的編譯器都同時支持< iostream >和< iostream.h >,那使用#include < iostream >,得到的是置于名字空間std下的iostream庫的元素;如果使用#include < iostream.h >,得到的是置于全局空間的同樣的元素。在全局空間獲取元素會導致名字沖突,而設計名字空間的初衷正是用來避免這種名字沖突的發(fā)生。還有,打字時< iostream >比< iostream.h >少兩個字,所以我會使用< iostream > ^-^
          ?
          困了,睡了。
          ?
          ?
          ??????????????????????????????????? ? 馬嘉楠
          ????????????????????????????????? 2005-12-26 午夜


          馬嘉楠
          jianan.ma@gmail.com

          posted on 2006-08-21 12:50 馬嘉楠 閱讀(3120) 評論(0)  編輯  收藏 所屬分類: 經(jīng)典 C++

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 集贤县| 青铜峡市| 鹿邑县| 资中县| 塔城市| 射洪县| 桂林市| 云阳县| 吉安市| 香港 | 清流县| 永年县| 颍上县| 高邮市| 宜州市| 江陵县| 容城县| 随州市| 丰原市| 西峡县| 静宁县| 南汇区| 五指山市| 寿阳县| 新巴尔虎左旗| 略阳县| 汉阴县| 红桥区| 柏乡县| 永吉县| 东光县| 根河市| 呼伦贝尔市| 凌云县| 醴陵市| 邹城市| 新乡市| 北安市| 斗六市| 张家界市| 嘉祥县|