亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

當(dāng)前位置:首頁(yè) > IT課程問答

淺談C++發(fā)展以及在實(shí)踐中的使用經(jīng)驗(yàn) 時(shí)間:2023-04-23      來(lái)源:華清遠(yuǎn)見

一、C++發(fā)展

C++語(yǔ)言由C語(yǔ)言發(fā)展而來(lái),是以面向?qū)ο鬄橹饕卣鞯恼Z(yǔ)言。它是20世紀(jì)80年代初由貝爾實(shí)驗(yàn)室的BjarenStroustrup博士發(fā)明的,最初稱為“帶類的C”,1983年正式命名為C++。有一個(gè)關(guān)于C++名字的笑話是,當(dāng)你使用后綴++時(shí),附加只發(fā)生在運(yùn)算之后(因此,它應(yīng)該是++C,而不是C++,這個(gè)笑話是說(shuō)時(shí)下某些程序員還在以使用C的方式使用C++,這通常被一些權(quán)威著作認(rèn)為是不正確的)。

C++語(yǔ)言發(fā)展大概可以分為三個(gè)階段:第一階段從80年代到1995年。這一階段C++語(yǔ)言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z(yǔ)言,并且憑借著接近C語(yǔ)言的效率,在工業(yè)界使用的開發(fā)語(yǔ)言中占據(jù)了相當(dāng)大份額;第二階段從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫(kù)和后來(lái)的Boost等程序庫(kù)的出現(xiàn),泛型程序設(shè)計(jì)在C++中占據(jù)了越來(lái)越多的比重。同時(shí)由于Java、C#等語(yǔ)言的出現(xiàn)和硬件價(jià)格的大規(guī)模下降,C++受到了一定的沖擊;第三階段從2000年至今,由于以Loki、MPL(Boost)等程序庫(kù)為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),C++出現(xiàn)了發(fā)展歷史上又一個(gè)新的高峰,這些新技術(shù)的出現(xiàn)以及和原有技術(shù)的融合,使C++已經(jīng)成為當(dāng)今主流程序設(shè)計(jì)語(yǔ)言中最復(fù)雜的一員。

1983年,C with Classes改命名為C++(++是C語(yǔ)言中的自增操作符)。加入了新的特性,其中包括虛函數(shù)、函數(shù)名和運(yùn)算符重載、參考、常量、用戶可控制的自由空間存儲(chǔ)區(qū)控制、改良的類型檢查,并恢復(fù)了雙斜線(//)單行注釋(之后C99也支持了這種注釋)。

1985年,發(fā)布第一版《C++程序設(shè)計(jì)語(yǔ)言》,提供一個(gè)重點(diǎn)的語(yǔ)言參考,至此還不是官方標(biāo)準(zhǔn)。

1989年,發(fā)布了Release 2.0。引入了多重繼承、抽象類別、靜態(tài)成員函數(shù)、常量成員函數(shù),以及成員保護(hù)。1990年,出版了《The Annotated C++ Reference Manual》。這本書后來(lái)成為標(biāo)準(zhǔn)化的基礎(chǔ)。稍后還引入了模板、異常處理、名字空間、新的強(qiáng)制類型轉(zhuǎn)換,以及布爾類型。

隨著C++語(yǔ)言的演變,也逐漸演化出相應(yīng)的標(biāo)準(zhǔn)程序庫(kù)。最先加進(jìn)C++標(biāo)準(zhǔn)庫(kù)的是流I/O庫(kù),其用以取代傳統(tǒng)的C函數(shù),如printf和scanf。隨后所引入的程序庫(kù)中最重要的便是標(biāo)準(zhǔn)模板庫(kù),簡(jiǎn)稱STL。

多年后,ISO委員會(huì)于1998年對(duì)C++標(biāo)準(zhǔn)化。在官方發(fā)布1998標(biāo)準(zhǔn)的若干年后,委員會(huì)處理缺陷報(bào)告,并于2003年發(fā)布一個(gè)C++標(biāo)準(zhǔn)的修正版本。2005年,一份名為《Library Technical Report 1》的技術(shù)報(bào)告發(fā)布。雖然還不是官方標(biāo)準(zhǔn)的一部分,不過它所提供的幾個(gè)擴(kuò)展可望成為下一版C++標(biāo)準(zhǔn)的一部分。

目前最新的C++標(biāo)準(zhǔn)是2020年12月發(fā)布的ISO/IEC 14882:2020[5],又稱C++20。

原來(lái)版本中來(lái)不及引入的內(nèi)容,以及語(yǔ)言機(jī)制中發(fā)現(xiàn)的一些缺陷,都在新的版本中得以彌補(bǔ)和發(fā)展。新版標(biāo)準(zhǔn)中引入了無(wú)序容器,以及彌補(bǔ)原版標(biāo)準(zhǔn)中對(duì)hash容器的缺漏:新版標(biāo)準(zhǔn)支持移動(dòng)構(gòu)造函數(shù)和移動(dòng)賦值運(yùn)算符,以減小特定場(chǎng)景下對(duì)象拷貝的性能開銷。新版本標(biāo)準(zhǔn)不僅在語(yǔ)法上增加了大量的特性,而且在標(biāo)準(zhǔn)庫(kù)里也引入大量設(shè)施,使得標(biāo)準(zhǔn)庫(kù)對(duì)于C++語(yǔ)言的重要性遠(yuǎn)超從前。學(xué)習(xí)新的C++風(fēng)格,不是一朝一夕,熟練掌握rvalue reference、move 語(yǔ)義,了解unique_ptr、shared_ptr和weak_ptr的完整用法,明智的使用function/bind和lambda機(jī)制,學(xué)習(xí)C++ Concurrency的新技術(shù),對(duì)于初學(xué)者的話更不簡(jiǎn)單。

二、經(jīng)驗(yàn)淺談

我們?cè)賮?lái)說(shuō)說(shuō)C++的應(yīng)用領(lǐng)域,目前有三大類∶

第一類就是我們目前見到的各種桌面應(yīng)用平尤其 Windows桌面軟件,如QQ、安全類殺毒類軟件、各種瀏覽器等;

另外就是一些基礎(chǔ)軟件和高級(jí)語(yǔ)言的運(yùn)行時(shí)環(huán)境,如大型數(shù)據(jù)庫(kù)軟件、Java虛擬機(jī)、C#的CLR、Python編譯器和運(yùn)行時(shí)環(huán)境等;

第三類就是一些業(yè)務(wù)型應(yīng)用軟件的后臺(tái),像游戲的服務(wù)器后臺(tái),如魔獸世界的服務(wù)和一些企業(yè)內(nèi)部的應(yīng)用系統(tǒng)。

說(shuō)的比較抽象,我們舉個(gè)例子,要開發(fā)一個(gè)類似電驢的軟件,軟件界面如下圖:

 

 

操作系統(tǒng)選擇Windows,使用語(yǔ)言C++,這款產(chǎn)品的實(shí)現(xiàn)技術(shù)分為UI和網(wǎng)絡(luò)通信部分。

(1)UI部分:需要對(duì)Windows的窗口、對(duì)話框、消息產(chǎn)生、派發(fā)與處理機(jī)制進(jìn)行學(xué)習(xí)了解,根據(jù)上圖的軟件功能,大致分為三大模塊,即資源、下載和分享。這三大塊可以使用Windows Tab控件去組織。

(2)網(wǎng)絡(luò)通信部分:有兩大塊,第一個(gè)是程序啟動(dòng)時(shí)與服務(wù)器交互;第二個(gè)是文件下載與分享的P2P網(wǎng)絡(luò)。

同學(xué)們面臨的的一個(gè)重要任務(wù)就是快速掌握新的C++風(fēng)格和工具。C++同時(shí)支持4種不同的編程風(fēng)格:面向過程、基于對(duì)象、面向?qū)ο蠛头盒途幊,還可以加上一種“基于組件”的風(fēng)格,這么多的風(fēng)格共存于一種語(yǔ)言就是其強(qiáng)大抽象機(jī)制的證明。

在實(shí)踐中,不必全面地使用C++語(yǔ)言的各種特性,而應(yīng)根據(jù)工程項(xiàng)目的實(shí)際情況,比如動(dòng)態(tài)類型信息、虛擬繼承、異常等特性的使用有待商榷。通常使用C++語(yǔ)言的一個(gè)子集就夠了。盡管在工程中使用C++子集,但全面地學(xué)習(xí)C++語(yǔ)言還是有必要的,畢竟C++語(yǔ)言是一個(gè)整體,并且C++標(biāo)準(zhǔn)庫(kù)自身全面地使用了C++語(yǔ)言的各種特性。

最后說(shuō)下面試問題,如果你是想進(jìn)入大型互聯(lián)網(wǎng)公司的應(yīng)屆生,應(yīng)該優(yōu)先好好準(zhǔn)備算法和數(shù)據(jù)結(jié)構(gòu)以應(yīng)對(duì)面試,這是大型互聯(lián)網(wǎng)公司面試頻率最高的考察范圍;如果是社會(huì)人士參加C++職位的面試,如果是大型互聯(lián)網(wǎng)公司,雖然社招問的更多的是項(xiàng)目經(jīng)驗(yàn),但適當(dāng)準(zhǔn)備一些基礎(chǔ)的算法和數(shù)據(jù)結(jié)構(gòu)知識(shí)也是非常有用的。


上一篇:STM32芯片型號(hào)命名規(guī)則

下一篇:程序員面試時(shí),那些必須注意的事情

戳我查看2024年嵌入式每月就業(yè)風(fēng)云榜

點(diǎn)我了解華清遠(yuǎn)見高校學(xué)霸學(xué)習(xí)秘籍

猜你關(guān)心企業(yè)是如何評(píng)價(jià)華清學(xué)員的

干貨分享
相關(guān)新聞
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2024 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號(hào)-5,京公海網(wǎng)安備11010802025203號(hào)

回到頂部

主站蜘蛛池模板: www.日本精品 | 好吊色网站 | 欧美成人免费丝袜视频在线观看 | 免费一级a毛片在线播放 | 九九亚洲视频 | 97精品国产91久久久久久久 | 欧美亚洲国产精品 | 国产成人99久久亚洲综合精品 | 青青视频免费观看在线播放 | 九九精品久久久久久噜噜 | 日本xxx在线观看 | 久久欧洲视频 | 韩国十九禁高清在线观看 | 欧美视频一区二区在线观看 | 秋月爱莉在线观看无修版 | 国产日韩高清一区二区三区 | 日本欧美一区二区三区片 | 毛片看 | 久久性| 国产欧美日韩一区二区三区视频 | 国产成年人网站 | 青娱乐在线视频播放 | 欧美一区二区三区gg高清影视 | 99精品国产在热久久 | www.亚洲.com | 久久五月视频 | 韩国三级在线视频 | 免费观看成人毛片 | 免费一级a毛片在线 | 两性色午夜视频免费播放 | 波多野一区二区 | 日本三级香港三级妇三 | 久草综合在线 | 日韩亚色 | 日本在线观看一区 | 九九久久国产精品大片 | 欧美日韩亚洲二区在线 | 日本小视频免费 | 黄色入口 | 欧美一级www| 久久精品成人欧美大片免费 |