-
>
決戰(zhàn)行測5000題(言語理解與表達(dá))
-
>
軟件性能測試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍(lán)圖完全學(xué)習(xí)教程
-
>
深入理解計(jì)算機(jī)系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
零基礎(chǔ)C++從入門到精通 版權(quán)信息
- ISBN:9787218139654
- 條形碼:9787218139654 ; 978-7-218-13965-4
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
零基礎(chǔ)C++從入門到精通 內(nèi)容簡介
本書幫助零基礎(chǔ)編程讀者從入門到精通地學(xué)習(xí)并掌握計(jì)算機(jī)編程C++, 循序漸進(jìn)引導(dǎo)讀者學(xué)習(xí)C++的基礎(chǔ)內(nèi)容和高階核心知識, 增加讀者實(shí)戰(zhàn)操作經(jīng)驗(yàn)和分析解決問題的能力, 引導(dǎo)讀者能夠深入挖掘計(jì)算機(jī)編程領(lǐng)域, 多維度思考和理解計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用, 有助于讀者能夠全面地、系統(tǒng)地將所學(xué)編程知識技巧運(yùn)用于實(shí)際工作中, 在高新企業(yè)、移動互聯(lián)網(wǎng)、大數(shù)據(jù)和云計(jì)算領(lǐng)域中發(fā)揮強(qiáng)有力的重要作用。
零基礎(chǔ)C++從入門到精通 節(jié)選
第1 章 走進(jìn)C++ 1.1 C++編程語言概述 在現(xiàn)今的社會,軟件的應(yīng)用已經(jīng)滲透到生活的方方面面之中。我們經(jīng)常使用的在線服務(wù)如打車、交友、聊天、辦公、學(xué)習(xí)和游戲等,都是通過各種各樣的編程語言開發(fā)完成的。 如今每一種被廣泛使用的編程語言,都在某一些場景下有著不可替代的長處和突出的優(yōu)勢。比如,C語言在性能方面非常好,R語言適合用于統(tǒng)計(jì)分析大量的數(shù)據(jù),而HTML和JavaScript語言在瀏覽器場景中有不可比擬的優(yōu)勢。在眾多編程語言中,C++是一種非常靈活強(qiáng)大的編程語言,被廣泛應(yīng)用于所有需要極限優(yōu)化效率的程序中。學(xué)習(xí)C++是一件非常有挑戰(zhàn)性的事,但同時(shí)也是一件很有成就感的事。通過本書,我們將帶你了解C++語言的細(xì)節(jié),并加深對計(jì)算機(jī)系統(tǒng)的理解。 現(xiàn)在,本章將帶你走進(jìn)C++編程語言,體會不一樣的編程世界。 1.1.1 C++的歷史 C++的前身是“C with classes”,由“C++之父”比雅尼·斯特勞斯特魯普(Bjarne Stroustrup)研發(fā)創(chuàng)造。1979年,比雅尼·斯特勞斯特魯普在準(zhǔn)備博士論文的時(shí)候使用了Simula語言,其支持面向?qū)ο箝_發(fā)。他覺得這種思想非常適合大型應(yīng)用軟件的開發(fā),但是Simula本身的效率太低。之后,斯特勞斯特魯普就開始研發(fā)“C with classes”了。這個(gè)命名說明了它是在C語言的基礎(chǔ)上研發(fā)的,包含了C語言的特性。C語言的執(zhí)行速度快、效率高,而且可移植性也非常好,因此在C語言的基礎(chǔ)上加上類和繼承等面向?qū)ο蟮奶匦灾,將發(fā)明出一種新的、效率高且能開發(fā)大型軟件的強(qiáng)大語言。 “C with classes”的**個(gè)編譯器叫作Cfront,它的工作原理是把“C with classes”的代碼轉(zhuǎn)換成純C語言的代碼。Cfront的代碼大多是用“C with classes”編寫的,因?yàn)殡y以集成C++的異常處理機(jī)制,所以Cfront在1993年就退出了歷史舞臺,但Cfront對之后的C++編譯器和UNIX都產(chǎn)生了深遠(yuǎn)的影響。 【提示】 計(jì)算機(jī)運(yùn)行程序時(shí)使用的指令是編碼過的抽象的二進(jìn)制序列,而程序員在開發(fā)過程中需要一種方便人們理解的高級編程語言,而C++就是這樣一種高級語言。將高級編程語言翻譯成計(jì)算機(jī)指令的工具就叫作編譯器。不同的編譯器支持不同的開發(fā)平臺,也會對高級編程語言進(jìn)行不同的優(yōu)化而生成不同的機(jī)器指令。 1983年,“C with classes”改名為“C++”,許多新特性被加入其中,如虛函數(shù)、函數(shù)重載、const等。1985年,《C++程序設(shè)計(jì)語言》(The C++ Programming Language)第1版出版,由于沒有正式的C++標(biāo)準(zhǔn),這本書成了當(dāng)時(shí)的重要參考。在此期間,C++又增添了許多功能。1998年,C++編程語言的**個(gè)國際標(biāo)準(zhǔn)——C++ 98標(biāo)準(zhǔn)正式發(fā)布,并且將標(biāo)準(zhǔn)模板庫STL收錄其中。2011年,C++ 11標(biāo)準(zhǔn)問世,該版本添加了許多新功能,簡化了許多語法,使C++語言的功能更加強(qiáng)大了。 1.1.2 C++的發(fā)展歷程 本節(jié)將簡述C++編程語言這幾十年的發(fā)展歷程,感興趣的讀者可以通過拓展資料來了解,本書不詳細(xì)展開。 1979年,比雅尼·斯特勞斯特魯普首次實(shí)現(xiàn)C with Classes,在C語言的基礎(chǔ)上添加了類(構(gòu)造函數(shù)與析構(gòu)函數(shù)、成員函數(shù)、公有私有訪問控制、友元)、派生類、內(nèi)聯(lián)函數(shù)、默認(rèn)實(shí)參等功能。 1982年,C with Classes參考手冊發(fā)布。 1984年,C84實(shí)現(xiàn),發(fā)布參考手冊。 1985年,Cfront 1.0發(fā)布,增加虛函數(shù)、重載、引用、const關(guān)鍵字、new和delete操作符、作用域操作符等特性。 同年,《C++程序設(shè)計(jì)語言》第1版出版。 1986年,“whatis?”提案把設(shè)計(jì)目標(biāo)寫入文檔,包含了多重繼承、異常處理和模板。 1987年,GCC 1.15.3支持C++(g++)。 1989年,Cfront 2.0發(fā)布,增加多重繼承、保護(hù)訪問控制、抽象類等特性。 1990年,ANSI C++委員會成立。 同年,《C++注解參考手冊》(The Annotated C++ Reference Manual)出版。 同年,添加命名空間、模板、異常處理等功能。 1991年,Cfront 3.0發(fā)布。 同年,ISO C++委員會成立。 同年,《C++程序設(shè)計(jì)語言》第2版出版。 1992年,STL在C++中實(shí)現(xiàn)。 1997年,《C++程序設(shè)計(jì)語言》第3版出版。 1998年,C++ 98標(biāo)準(zhǔn)發(fā)布,增加轉(zhuǎn)換運(yùn)算符、mutable關(guān)鍵字、RTTI、bool類型等特性。 1999年,委員會成員成立Boost,旨在開發(fā)新的高質(zhì)量庫以作為標(biāo)準(zhǔn)庫的候選庫。 2003年,C++ 03標(biāo)準(zhǔn)發(fā)布,添加了新特性——值初始化。 2007年,擴(kuò)展庫TR1發(fā)布,將來自Boost以及C99的一些內(nèi)容添加到C++標(biāo)準(zhǔn)庫中。 2010年,擴(kuò)展C++標(biāo)準(zhǔn)庫,添加了一些特殊數(shù)學(xué)函數(shù)。 2011年,C++ 11標(biāo)準(zhǔn)發(fā)布,添加了大量新特性,包括auto和decltype、右值引用、列表初始化、long long類型、lambda表達(dá)式、區(qū)間遍歷等。 同年,十進(jìn)制浮點(diǎn)數(shù)TR發(fā)布。 2012年,標(biāo)準(zhǔn)C++基金會成立。 2013年,《C++程序設(shè)計(jì)語言》第4版出版。 2014年,C++ 14標(biāo)準(zhǔn)發(fā)布,添加了變量模板、泛型lambda、二進(jìn)制字面量等特性。 2017年,C++ 17標(biāo)準(zhǔn)發(fā)布,添加了折疊表達(dá)式、inline變量、條件語句的初始化器等特性。 1.1.3 C++的特性與使用場景 C++與現(xiàn)在主流的面向?qū)ο缶幊陶Z言有比較大的區(qū)別,有一部分原因是C++繼承了C語言的絕大部分功能,所以它也能像C語言那樣直接使用指針操縱內(nèi)存,直接與底層交互,也可以知道數(shù)據(jù)的大小并進(jìn)行優(yōu)化;而更新的語言如Java、C#等都建立在類似虛擬機(jī)的中間層之上,因此程序員可以進(jìn)行的優(yōu)化十分有限。除此之外,C++也支持類、虛函數(shù)、繼承等能實(shí)現(xiàn)面向?qū)ο缶幊痰墓δ,而且還包含模板等支持泛型編程的功能。 對于使用場景來說,隨著Web應(yīng)用以及移動端應(yīng)用的興起,盡管已經(jīng)有越來越多基于其他語言的框架由于易用性等特點(diǎn)取代了基于C++的框架,但是 C++作為一種可以接觸底層的高效語言,在許多性能敏感的場景中還是無法替代的。這其中包括了游戲編程、音頻視頻圖像處理,以及所有靠近操作系統(tǒng)層的底層系統(tǒng)應(yīng)用和基礎(chǔ)設(shè)施。但由于C++實(shí)在太靈活了,存在許多導(dǎo)致程序出錯的陷阱,致使開發(fā)調(diào)試成本上升,因此一般的應(yīng)用程序和工具腳本就沒有使用C++的必要了。 1.1.4 C++與C語言 C++是在C語言的基礎(chǔ)上發(fā)展而來的,因此C++幾乎支持C語言的所有功能。也可以說,C語言就是C++的一個(gè)子集。C++不但不需要花費(fèi)許多時(shí)間去重新定義一些如函數(shù)及變量之類的基本程序語言功能,而且大量C程序也無須修改就可以被C++的編譯器編譯,可以說C++是向前兼容了C語言。 但是,C++與C語言的編程思想并不一樣。C語言沒有類和面向?qū)ο蟮母拍,我們所能做的就只有過程式編程,將指令和數(shù)據(jù)組織成一塊一塊的子過程,也就是函數(shù);而C++在C語言的基礎(chǔ)上增加了類、模板等功能,編程的思想和范式也不一樣了。在使用C++進(jìn)行程序設(shè)計(jì)的時(shí)候,我們不考慮如何把算法和功能組織成函數(shù),而是考慮如何將程序中的物件抽象為類,并且定義類之間的關(guān)系和互動。此外,C++可以通過模板實(shí)現(xiàn)泛型編程,也就是說,在編程的時(shí)候我們不需要考慮函數(shù)參數(shù)或者容器元素的類型。
零基礎(chǔ)C++從入門到精通 作者簡介
零壹快學(xué)是一個(gè)集教育、培訓(xùn)、交流于一體的計(jì)算機(jī)學(xué)習(xí)融媒體平臺,覆蓋Web、APP和微信小程序等場景,為廣大IT學(xué)習(xí)者提供計(jì)算機(jī)各學(xué)科的教學(xué)資源、培訓(xùn)課程、測評系統(tǒng)等。通過人工智能手段,模擬真實(shí)課堂環(huán)境,力求打造成為一個(gè)全面、權(quán)威、高效的一流計(jì)算機(jī)在線教育平臺。目前,平臺已開發(fā)了包括計(jì)算機(jī)編程、云計(jì)算、區(qū)塊鏈等在內(nèi)的多門課程,提供計(jì)算機(jī)等級考試在線題庫系統(tǒng),將陸續(xù)開發(fā)計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試、CCIE等在線題庫系統(tǒng),同時(shí)擁有一支由一線互聯(lián)網(wǎng)公司工程師、知名高校教師組成的專家團(tuán)隊(duì),精心為廣大IT學(xué)習(xí)者提供優(yōu)質(zhì)的學(xué)習(xí)資源、課程和服務(wù)。
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
有舍有得是人生
- >
中國歷史的瞬間
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(紅燭學(xué)術(shù)叢書)
- >
朝聞道
- >
月亮虎
- >
唐代進(jìn)士錄
- >
隨園食單