C++程式設計

Web開發者發表於2012-07-04

C++概述

    C++程式設計是一種使用非常廣泛的計算機程式語言。它是一種靜態資料型別檢查的,支援多重程式設計正規化的通用程式設計語言。它支援過程化程式設計、資料抽象、物件導向程式設計、製作圖示等等泛型程式設計等多種程式設計風格。

C++發展過程

    C++的前身是C語言。
    C語言發展到頂峰時,很多版本的C都希望在C語言中增加類的概念。20世紀80年代初期,美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)博士在C語言中增加class關鍵字和類並命名為C with Class,那就是C++最早的版本。後來C標準委員會決定為這個版本的C起個新的名字,在徵集了很多種名字後,最終採納了其中一個人的意見,以C語言中的++運算子來體現它是C語言的進步,故而叫C++,成立了C++標準委員會。
    作為C語言的增強版,C++不斷增加新特性。虛擬函式(virtual function)、運算子過載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、名稱空間(name space)逐漸被加入標準。1998年國際標準組織(ISO)頒佈了C++程式設計語言的國際標準ISO/IEC 1988-1998。
    2000年後,由於以Loki、MPL等程式庫為代表的產生式程式設計和模板超程式設計的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程式設計語言中最複雜的一員。

C++組成部分

    C子語言。C++支援C語言的幾乎全部功能,主要是c89的部分,在語法上與C語言僅有極微妙的差別(如括號表示式的左右值性)。
    物件導向的C++語言。C++語言原本不具備物件導向的設計功能,然而隨著物件導向程式設計的概念的提出以及如Java等語言的發展成熟,C++語言也開發出了支援物件導向功能的版本。
    泛型程式語言。C++強大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高執行期效率。
    STL(C++標準模板庫,Standard Template Library)。隨著STL的不斷髮展,它已經逐漸成為C++程式設計中不可或缺的部分,其效率可能比一般的native程式碼低些,但是其安全性與規範性使它大受歡迎。

C++特點

    C++和C同樣高效且可移植。
    C++設計成直接的和廣泛的支援多種程式設計風格(程式化程式設計、資料抽象化、物件導向程式設計、泛型程式設計)。
    C++設計成給程式設計者更多的選擇。
    C++設計成儘可能與C相容,籍此提供一個從C到C++的平滑過渡。
    C++避免平臺限定或沒有普遍用途的特性。
    C++不使用會帶來額外開銷的特性。
    C++設計成無需複雜的程式設計環境。

C++應用例項

    Windows上層高階特性
    魔獸世界等幾乎所有的網路遊戲
    百度搜尋引擎
    大多數作業系統應用軟體

相關文章