自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++,C語言的增強版

開發(fā) 開發(fā)工具
C++是一種使用非常廣泛的電腦程序設(shè)計語言,貝爾實驗室的比雅尼·斯特勞斯特魯普博士在20世紀80年代發(fā)明并實現(xiàn)了C++。起初,這種語言被稱作“C with Classes”,作為C語言的增強版出現(xiàn)。

C++是一種使用非常廣泛的電腦程序設(shè)計語言。它是一種靜態(tài)數(shù)據(jù)類型檢查的,支持多范型的通用程序設(shè)計語言。C++支持過程化程序設(shè)計、數(shù)據(jù)抽象化、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計、基于原則設(shè)計等多種程序設(shè)計風(fēng)格。

[[18091]]

貝爾實驗室的比雅尼·斯特勞斯特魯普博士在20世紀80年代發(fā)明并實現(xiàn)了C++。起初,這種語言被稱作“C with Classes”(“包含類的C語言”),作為C語言的增強版出現(xiàn)。隨后,C++不斷增加新特性。虛函數(shù)、操作符重載、多重繼承、模板、異常處理、RTTI(Runtime type information)、命名空間(namespace)逐漸納入標準。

1998年國際標準組織(ISO)頒布了C++程序設(shè)計語言的國際標準ISO/IEC 14882-1998。另外,就目前學(xué)習(xí)C++而言,可以認為它是一門獨立的語言;它并不依賴C語言,我們可以完全不學(xué)C語言,而直接學(xué)習(xí)C++。根據(jù)《C++編程思想》(Thinking in C++)一書所評述的,C++與C的效率往往相差在正負5%之間。所以有人認為在大多數(shù)場合中,C++完全可以取代C語言。

C++語言發(fā)展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近C語言的效率,在工業(yè)界使用的開發(fā)語言中占據(jù)了相當(dāng)大份額;第二階段從1995年到2000年,這一階段由于標準模板庫(STL)和后來的Boost等程序庫的出現(xiàn),泛型程序設(shè)計在C++中占據(jù)了越來越多的比重性。

當(dāng)然,同時由于Java、C#等語言的出現(xiàn)和硬件價格的大規(guī)模下降,C++受到了一定的沖擊;第三階段從2000年至今,由于以Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計語言中最復(fù)雜的一員。

C++的特色

和C語言相比,C++引入了更多的特性,包括:陳述性聲明,類似函數(shù)的強制轉(zhuǎn)型,new/delete操作符,布林類型,參考類型,默認參數(shù),函數(shù)重載,命名空間,類(包括所有和類相關(guān)的特性,如繼承、成員函數(shù)、虛函數(shù)、抽象類和建構(gòu)子),操作符重載,模板,::操作符,異常處理和運行時期識別。

和普遍認為的相反,C++不是第一個引入const關(guān)鍵字的。Const是在正式引入C語言不久之后,才被C++采用。

C++在某些案例中(見下“與C不兼容之處”),進行比C還要多的類型檢查。以“//”起始作為注解起源自C的前身BCPL,而后被重新引入到C++。

C++的一些特性,C不久之后也采用了,包括在for循環(huán)中聲明,C++風(fēng)格的注解(使用//符號,和inline,雖然C99定義的inline關(guān)鍵字與C++的定義不兼容。不過,C99也引入了不存在于C++的特性,如:variadic macros,和以數(shù)組作為參數(shù)的較佳處理;某些C++編譯器可能實現(xiàn)若干特性,以作為擴展,但其余部分并不符合現(xiàn)存的C++特性)

一個常見的混淆其實只是一個微妙的術(shù)語問題:由于它的演化來自C,在C++中的術(shù)語對象和C語言一樣是意味著存儲器區(qū)域,而不是類的實例,在其它絕大多數(shù)的面向?qū)ο笳Z言也是如此。舉例來說,在C和C++中,語句int i;定義一個int類型的對象,這就是變量的值i將在賦值時,所存入的存儲器區(qū)域。

語言特性

◆操作符

◆預(yù)處理器

◆預(yù)處理器指令和宏

◆模板

◆對象

◆封裝

◆繼承

◆多態(tài)

【編輯推薦】

  1. PHP,最流行的Web開發(fā)語言
  2. Java,編程語言世界里的常勝將軍
  3. 匯編語言:從機器語言到高級語言的進化
  4. 機器語言:程序員需要一雙靈巧的手
  5. 人類第一次編程開發(fā):200倍效率提升為戰(zhàn)爭
責(zé)任編輯:王曉東 來源: 51CTO
相關(guān)推薦

2021-01-27 10:01:46

MySQL數(shù)據(jù)庫SQLX

2023-09-03 19:43:46

htmxJavaScript網(wǎng)絡(luò)

2020-12-02 09:51:06

C++語言學(xué)習(xí)

2010-01-15 17:38:37

C++語言

2022-09-21 10:50:43

pickledillPython

2013-05-15 09:14:01

2009-08-22 15:04:02

H3C無線路由器

2011-09-15 14:00:52

IOS應(yīng)用SpoolInstapaper

2022-07-01 11:56:54

C語言C++編程語言

2010-01-22 15:30:36

C++語言

2024-02-21 14:55:19

C++語言編程

2011-05-26 17:55:08

2015-04-21 13:37:44

Google開源CC++版

2010-01-15 14:46:20

C++語言

2022-10-08 08:15:55

GScriptGo 語言

2010-01-14 10:34:02

C++語言

2010-01-13 17:04:36

C++語言

2010-01-14 10:23:08

C++語言

2010-01-26 10:27:43

C++語言

2010-01-12 18:00:30

Visual C++
點贊
收藏

51CTO技術(shù)棧公眾號