關於VC++的頭文件

 以下出自:effective   C++

懾於被激怒的程序員會產生的破壞力,

標準委 員會決定爲包裝了std的那部分標準庫構件創建新的頭文件名。生成新頭文件的方法僅僅是將現有C++頭文件名中的   .h   去掉,方法本身不重要,正如最後產生的結果不一致也並不重要一樣。所以<iostream.h>變成了<iostream>, <complex.h>變成了<complex>,等等。對於C頭文件, 採用同樣的方法,但在每個名字前還要添加一個c。所以C的<string.h>變成了<cstring>,< stdio.h>變成了<cstdio>,等等。最後一點是,舊的C++頭文件是官方所反對使用的(即,明確列出不再支持),但舊的C 頭文件則沒有(以保持對C的兼容性)。實際上,編譯器製造商不會停止對客戶現有軟件提供支持,所以可以預計,舊的C++頭文件在未來幾年內還是會被支持。  
   
  所以,實際來說,下面是C++頭文件的現狀:  
   
    ·   舊的C++頭文件名如<iostream.h>將會繼續被支持,儘管它們不在官方標準中。這些頭文件的內容不在名字空間std中。  
   
    ·   新的C++頭文件如<iostream>包含的基本功能和對應的舊頭文件相同,但頭文件的內容在名字空間std中。(在標準化的過程中,庫中有些部分的細節被修改了,所以舊頭文件和新頭文件中的實體不一定完全對應。)  
   
  ·   標準C頭文件如<stdio.h>繼續被支持。頭文件的內容不在std中。  
   
  ·   具有C庫功能的新C++頭文件具有如<cstdio>這樣的名字。它們提供的內容和相應的舊C頭文件相同,只是內容在std中。

發佈了22 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章