C++是一種使用非常廣泛的電腦程序設計語言,是�C語言的基礎上�(fā)展演變而來�。它是一種靜�(tài)�(shù)�(jù)類型檢查的,支持多范型的通用程序設計語言。C++支持過程化程序設計、數(shù)�(jù)抽象�、面向對象程序設�、泛型程序設�、基于原則設計等多種程序設計風格�
C++語言既保留了C語言的有效�、靈活性、便于移植等全部精華和特�,又添加了面向對象編程的支持,具有強大的編程功能,可方便地構造出模擬�(xiàn)實問題的實體和操�;編寫出的程序具有結構清晰、易于擴充等�(yōu)良特�,適合于各種應用軟件、系�(tǒng)軟件的程序設�。用C++編寫的程序可讀性好,生成的代碼質量�,運行效率僅比匯編語言�10%�20%�
C++語言具有以下特點�
(1) C++是C語言的超�。它既保持了C語言的簡�、高效和接近匯編語言等特�,又克服了C語言的缺�,其編譯系統(tǒng)能檢查更多的語法錯誤,因�,C++比C語言更安全�
(2) C++保持了與C語言的兼�。絕大多�(shù)C語言程序可以不經(jīng)修改直接在C++�(huán)境中運行,用C語言編寫的眾多庫函數(shù)可以用于C++程序��
(3) 支持面向對象程序設計的特�。C++既支持面向過程的程序設計,又支持面向對象的程序設��
(4) C++程序在可重用�、可擴充性、可維護性和可靠性等方面都較C語言得到了提�,使其更適合開發(fā)大中型的系統(tǒng)軟件和應用程序�
Stroustrup工作起于1979年的C with Classes。這個構思起源于 Stroustrup 做博士論文時的一些程序撰寫經(jīng)�。他�(fā)�(xiàn)Simula具備很利于大型軟件開�(fā)的特�,但Simula的運行速度太慢,無法對�(xiàn)實需求發(fā)揮功�;BCPL雖快得多,但它過于低級的特�,使其不適于大型軟件的開�(fā)。當Stroustrup開始在貝爾實驗室工作�,他有分析UNIX核心關于分布式計算的問題?;叵肫鹚牟┦空撐慕?jīng)驗,Stroustrup開始為C語言增強一些類似Simula的特�。之所以選擇C,是因為它適于各種用�、快速和可移植�。除了C和Simula之外,同時也從其它語言中取得靈�,如ALGOL 68、Ada、CLU以及ML。剛開始時,�、派生類、存儲類型檢�、內�(lián)和默認參�(shù)特性,都是通過Cfront引入C語言之中�1985�10月出�(xiàn)了個商�(yè)化發(fā)��
1983年,C with Classes改命名為C++。加入了新的特性,其中包括虛函�(shù)、函�(shù)名和運算符重載]]、參�、常�(shù)、用戶可控制的自由空間存儲區(qū)控制、改良的類型檢查,以及新的雙斜線�//)單行注解風��1985年,�(fā)布版《C++程序設計語言�,提供一個重點的語言參考,至此還不是官方標��1989�,發(fā)布了Release 2.0。引入了多重繼承、抽象類、靜�(tài)成員函數(shù)、常�(shù)成員函數(shù),以及成員保��1990�,出版了The Annotated C++ Reference Manual。這本書后來成為標準化的基�。稍后還引入了模�、異常處理、命名空�、新的強制類型轉換,以及布爾類型�
隨著C++語言的演�,也逐漸演化出相應的標準程序�。加進C++標準庫的是流I/O程序�,其用以取代傳統(tǒng)的C函數(shù),如printf和scanf。隨后所引入的程序庫中最重要的便是標準模板庫,簡稱STL�
多年�,一個聯(lián)合的ANSI-ISO委員會于1998年對C++標準化(ISO/IEC 14882�1998�。在官方釋出1998標準的若干年�,委員會處理缺陷報告,并�2003年發(fā)布一個C++標準的修正版��2005�,一份名為Library Technical Report 1(簡稱TR1)的技術報告釋出。雖然還不是官方標準的一部分,不過它所提供的幾個擴展可望成為下一版C++標準的一部分。幾乎所有目前仍在維護的C++編譯器皆已支持TR1�
雖然C++免專利,但標準文件本身并不是免費�,盡管標準文檔不是免費的,但是很容易從網(wǎng)絡中取得,最簡單的就是C++標準文檔之前的草稿版�,它與標準的差別幾乎只在于排版上�
在《C++語言的設計和演化》(1994)中,Bjarne Stroustrup描述了他在設計C++�,所使用的一些原�。知道這些原則有助于理解C++為何會是�(xiàn)在這個樣�。以下總結了一些原�,詳盡的內容可參閱《C++語言的設計和演化》:
●C++設計成使用靜�(tài)類型機制、和C同樣高效且可移植的多用途程序設計語言�
●C++設計成直接的和廣泛的支持多種程序設計風格(過程化程序設計、數(shù)�(jù)抽象�、面向對象程序設計、泛型程序設計)�
●C++設計成給程序設計者更多的選擇,即使可能導致程序設計者選擇錯��
●C++設計成盡可能與C兼容,借此提供一個從C到C++的平滑過��
●C++避免平臺限定或沒有普遍用途的特性�
●C++不使用會帶來額外開銷的特��
●C++設計成無需復雜的程序設計環(huán)��
維庫電子�,電子知識,一查百��
已收錄詞�153979�