朱曉明 3933 字 2個月前

c++

(1 / 4)
⚡ 登入後報錯可獲 3天VIP 免廣告——立即登入

"": 200,

"": "",

"": "C++這個詞在中國大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“Cplusplus”,“CPP”。它是一種使用非常廣泛的計算機編程語言。C++是一種靜態數據類型檢查的、支持多重編程範式的通用程序設計語言。它支持過程化程序設計、數據抽象、麵向對象程序設計、製作圖標等等泛型程序設計等多種程序設計風格。

美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普(BjarneStroustrup)博士在20世紀80年代初期發明並實現了C++(最初這種語言被稱作“CwithClasses”)。一開始C++是作為C語言的增強版出現的,從給C語言增加類開始,不斷的增加新特性。虛函數(virtualfunction)、運算符重載(operatoroverloading)、多重繼承(multipleinheritance)、模板(template)、異常(exception)、RTTI、命名空間(namespace)逐漸被加入標準。1998年國際標準組織(ISO)頒布了C++程序設計語言的國際標準ISO\/IEC1988-1998。C++是具有國際標準的編程語言,通常稱作ANSI\/ISOC++。

1998年是C++標準委員會成立的第一年,以後每5年視實際需要更新一次標準。C++0x最終國際投票已於2011年8月10日結束,所有國家都投出了讚成票,C++0x已經毫無疑義地成為正式國際標準。先前被臨時命名為C++0x的新標準將被稱為C++2011。C++2011將取代現行的C++標準ISO\/IEC14882,它公開於1998年並於2003年更新,通稱C++98以及C++03。國際標準化組織於2011年9月1日出版發布ISO\/IEC14882:2011,名稱是:Informationtechnology--Programminglanguages--C++Edition:3。

組成部分

根據EffectiveC++第三版第一條款的描述,現在C++由以下四個“子語言”組成:

1、C子語言。C++支持C語言的幾乎全部功能,主要是c89的部分,在語法上與C語言僅有極微妙的差別(如括號表達式的左右值性,具體請參考C++標準文獻)。

2、麵向對象的C++語言。C++語言原本不具備麵向對象的設計功能,然而隨著麵向對象編程的概念的提出以及如Java等語言的發展成熟,C++語言也開發出了支持麵向對象功能的版本.

3、泛型編程語言。C++強大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高運行期效率。

4、STL(C++標準模板庫,StandardTemplateLibrary)。隨著STL的不斷發展,它已經逐漸成為C++程序設計中不可或缺的部分,其效率可能比一般的native代碼低些,但是其安全性與規範性使它大受歡迎。

此外,包含在TR1等中的C++0x將實現的新功能在開發和測試中。

更多小說內容請訪問o o p . t w

發展階段

C++語言發展大概可以分為三個階段:

第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的麵向對象語言,並且憑借著接近C語言的效率,在工業界使用的開發語言中占據了相當大份額;

第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程序庫的出現,泛型程序設計在C++中占據了越來越多的比重性。當然,同時由於Java、C#等語言的出現和硬件價格的大規模下降,C++受到了一定的衝擊;

第三階段從2000年至今,由於以Loki、MPL等程序庫為代表的產生式編程和模板元編程的出現,C++出現了發展曆史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。

設計原則

·C++設計成靜態類型、和C同樣高效且可移植的多用途程序設計語言。

·C++設計成直接的和廣泛的支援多種程序設計風格(程序化程序設計、資料抽象化、麵向對象程序設計、泛型程序設計)。

·C++設計成給程序設計者更多的選擇,即使可能導致程序設計者選擇錯誤。

·C++設計成儘可能與C兼容,籍此提供一個從C到C++的平滑過渡。

·C++避免平台限定或沒有普遍用途的特性。

·C++不使用會帶來額外開銷的特性。

·C++設計成無需複雜的程序設計環境。

出於保證語言的簡潔和運行高效等方麵的考慮,C++的很多特性都是以庫(如STL)或其他的形式提供的,而沒有直接添加到語言本身裡。關於此類話題,BjarneStroustrup的《C++語言的設計和演化》(1994)裡做了詳儘的陳述。

HelloWorld程序在使用兼容C89標準(也稱為ANSIC)的編譯器時,下麵這個程序顯示“Hello,world!”然後結束運行:

edulcni#

diov個這有該應不中++c在/\/\)diov(niamtni

\!dlrow,olleH"\(ftnirp

;)"\

;0nruter

)樣這麵下像該應更但,行運以可序程個這以所,集包的言語c是言語++c,碼代言語c是上以(

:的以可是也序程的麵下,時器譯編的老較比用使在

edulcni#

)(niamtni

;ldne<<"\!dlrow,olleH"\<

;0nruter

:是當應,時器譯編的準標89++C容兼用使在

edulcni#

ni


✅ 付款功能已修復,現在可以正常購買了 — 支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
😤 廣告總在最入戲的時候跳出來?
月付 $5 USD,升級 VIP 後全站所有頁面廣告立即全關——
不是只有這本書,是整個 oop.tw 每一頁、每一章,從此一路讀到底不被打斷。 $5 USD ≈ 一杯珍奶的錢,換一整個月零廣告清爽閱讀 · 隨時可取消
✅ 全站廣告全關 ✅ 工口專區全本解鎖 ✅ 月卡 $5 USD · 季卡 $13 USD · 年卡 $45 USD
⭐ 登入 / 免費註冊後升級
加我 LINE 好友,分享好書不錯過
第一時間獲得新書推薦、書單更新通知
立即加入
上一章 書頁/目錄
/ 4 頁
下一頁
為本書評分(每位讀者可評一次,提交後無法修改)
發表評論
以 匿名讀者 身份發表
讀者評論