最近開始對C++編譯器進行學習,去各大書店買了一些關於C++和C++編譯器的書。看完後覺得C++跟C基本沒什麼太大的區別,C++最大的有點就是方便快捷,運行速度也有了大幅度提高。
這樣就帶來一個很奇怪的問題,如果我們把一個NULL值隨便轉換成一個其他類型,那麼C++編譯器會非常正常的調用到對應的方法,這樣有好處,也有壞處,好處是C++追求的速度得到了,但是壞處是,邏輯會變得很古怪。
除了這個以外,C++裡面的構造函數也還真夠復雜的,復制構造函數,賦值構造函數,如果把類型轉換那套加進去,一個值在運行時到底是什麼類型,還真是要慢慢研究。另外由於C++號稱是一個enhance版的C。
所以,把C的那套都帶進去了,變量類型搞得無比復雜,在原來的變量,指針之外,還要再加上引用。 這麼復雜,真是何苦了。
還有一個不能不說的是。
今天剛看到了異常處理,發現異常處理還要到達方法級,實在古怪,而導致這個問題的原因就是,C++在變量聲明時,不是將他初始為默認值,例如NULL之類,而是調用它的缺省構造函數。因為這個,又導致了構造函數聲明時要帶個列表,這樣就會導致進入構造函數前就拋出了異常,ai,簡簡單單的一個問題搞得那麼復雜,實在讓人抓狂。
C++程序良好的可移植性使得C++語言成為程序設計人員的首選工具語言,而保證這一特性必需使用標准化的C++編碼。國內高校尤其是高職院校的教材中,存在著大量非標准化的C++程序,不利於培養具有標准化C++編程風格的學生。
本文從C++發展史、教育工作者和教材規范化等多個角度出發,分析了這一問題產生的原因,並提出了相應的解決辦法。 1983年第一個C++程序投入使用,1994年8月,ansi/iso委員會草案登記,這便是業內所稱的早期的C++標准。
1998年11月,iso/iec:98-14882標准以下簡稱98標准)被批准,標志著C++代碼的標准化正式誕生[1]。C++語言誕生以來,延續了c語言的重要特征,即C++源程序良好的可移植性。正是這一特性,使得C++編譯器長期以來一直是程序開發人員的首選。 C++語言良好的可移植性是它具有較強生命力的關鍵所在。目前標准委員會正在修訂C++標准,並擬於2009年發布修訂後的09標准。