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

10年建站經(jīng)驗(yàn), 成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作客戶的見(jiàn)證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營(yíng)銷(xiāo)型網(wǎng)頁(yè)建站明細(xì)報(bào)價(jià)表。后期開(kāi)發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
貝爾實(shí)驗(yàn)室的比雅尼·斯特勞斯特魯普博士在20世紀(jì)80年代發(fā)明并實(shí)現(xiàn)了C++。起初,這種語(yǔ)言被稱(chēng)作“C with Classes”(“包含類(lèi)的C語(yǔ)言”),作為C語(yǔ)言的增強(qiáng)版出現(xiàn)。隨后,C++不斷增加新特性。虛函數(shù)、操作符重載、多重繼承、模板、異常處理、RTTI(Runtime type information)、命名空間(namespace)逐漸納入標(biāo)準(zhǔn)。
1998年國(guó)際標(biāo)準(zhǔn)組織(ISO)頒布了C++程序設(shè)計(jì)語(yǔ)言的國(guó)際標(biāo)準(zhǔn)ISO/IEC 14882-1998。另外,就目前學(xué)習(xí)C++而言,可以認(rèn)為它是一門(mén)獨(dú)立的語(yǔ)言;它并不依賴C語(yǔ)言,我們可以完全不學(xué)C語(yǔ)言,而直接學(xué)習(xí)C++。根據(jù)《C++編程思想》(Thinking in C++)一書(shū)所評(píng)述的,C++與C的效率往往相差在正負(fù)5%之間。所以有人認(rèn)為在大多數(shù)場(chǎng)合中,C++完全可以取代C語(yǔ)言。
C++語(yǔ)言發(fā)展大概可以分為三個(gè)階段:第一階段從80年代到1995年。這一階段C++語(yǔ)言基本上是傳統(tǒng)類(lèi)型上的面向?qū)ο笳Z(yǔ)言,并且憑借著接近C語(yǔ)言的效率,在工業(yè)界使用的開(kāi)發(fā)語(yǔ)言中占據(jù)了相當(dāng)大份額;第二階段從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫(kù)(STL)和后來(lái)的Boost等程序庫(kù)的出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來(lái)越多的比重性。
當(dāng)然,同時(shí)由于Java、C#等語(yǔ)言的出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;第三階段從2000年至今,由于以Loki、MPL等程序庫(kù)為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個(gè)新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計(jì)語(yǔ)言中最復(fù)雜的一員。
C++的特色
和C語(yǔ)言相比,C++引入了更多的特性,包括:陳述性聲明,類(lèi)似函數(shù)的強(qiáng)制轉(zhuǎn)型,new/delete操作符,布林類(lèi)型,參考類(lèi)型,默認(rèn)參數(shù),函數(shù)重載,命名空間,類(lèi)(包括所有和類(lèi)相關(guān)的特性,如繼承、成員函數(shù)、虛函數(shù)、抽象類(lèi)和建構(gòu)子),操作符重載,模板,::操作符,異常處理和運(yùn)行時(shí)期識(shí)別。
和普遍認(rèn)為的相反,C++不是第一個(gè)引入const關(guān)鍵字的。Const是在正式引入C語(yǔ)言不久之后,才被C++采用。
C++在某些案例中(見(jiàn)下“與C不兼容之處”),進(jìn)行比C還要多的類(lèi)型檢查。以“//”起始作為注解起源自C的前身BCPL,而后被重新引入到C++。
C++的一些特性,C不久之后也采用了,包括在for循環(huán)中聲明,C++風(fēng)格的注解(使用//符號(hào),和inline,雖然C99定義的inline關(guān)鍵字與C++的定義不兼容。不過(guò),C99也引入了不存在于C++的特性,如:variadic macros,和以數(shù)組作為參數(shù)的較佳處理;某些C++編譯器可能實(shí)現(xiàn)若干特性,以作為擴(kuò)展,但其余部分并不符合現(xiàn)存的C++特性)
一個(gè)常見(jiàn)的混淆其實(shí)只是一個(gè)微妙的術(shù)語(yǔ)問(wèn)題:由于它的演化來(lái)自C,在C++中的術(shù)語(yǔ)對(duì)象和C語(yǔ)言一樣是意味著存儲(chǔ)器區(qū)域,而不是類(lèi)的實(shí)例,在其它絕大多數(shù)的面向?qū)ο笳Z(yǔ)言也是如此。舉例來(lái)說(shuō),在C和C++中,語(yǔ)句int i;定義一個(gè)int類(lèi)型的對(duì)象,這就是變量的值i將在賦值時(shí),所存入的存儲(chǔ)器區(qū)域。
語(yǔ)言特性
◆操作符
◆預(yù)處理器
◆預(yù)處理器指令和宏
◆模板
◆對(duì)象
◆封裝
◆繼承
◆多態(tài)
標(biāo)題名稱(chēng):C++,C語(yǔ)言的增強(qiáng)版
鏈接地址:http://m.5511xx.com/article/ccdhhoh.html


咨詢
建站咨詢
