久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

C++的學(xué)習(xí)方法及書(shū)籍

時(shí)間:2020-09-14 17:49:53 勵(lì)志書(shū)籍 我要投稿

C++的學(xué)習(xí)方法及書(shū)籍推薦

  (一)我現(xiàn)在理解的C++

C++的學(xué)習(xí)方法及書(shū)籍推薦

  種種原因,很多精力要投入到j(luò)ava的學(xué)習(xí)和使用中去了,想形成一個(gè)學(xué)習(xí)C++的系列文章,沒(méi)有什么風(fēng)格,也沒(méi)有什么時(shí)間表,想到哪就去寫(xiě)。這里把以前自己另外一個(gè)ID發(fā)表的一篇文章的一部分作為這個(gè)系列的第一篇,算是開(kāi)頭吧。

  學(xué)習(xí)C++重在理解其各種語(yǔ)言設(shè)施所代表的語(yǔ)義,以及C++所能表示的語(yǔ)義所代表的設(shè)計(jì)思想。首先從宏觀上入手,你需要明白的是C++是程序設(shè)計(jì)語(yǔ)言的本質(zhì)。在此我把C++最重要的性質(zhì)寫(xiě)下來(lái):C++是一門(mén)靜態(tài)類(lèi)型檢查,基于C內(nèi)存模式,支持四種基本程序設(shè)計(jì)范型的語(yǔ)言。注意,這里說(shuō)明了三個(gè)本質(zhì)特性,靜態(tài)說(shuō)明了語(yǔ)言的類(lèi)型檢查性質(zhì),基于C內(nèi)存模式告訴我們?cè)贑++中所有與內(nèi)存有關(guān)的操作都需要程序員自己來(lái)負(fù)責(zé),這樣就帶來(lái)了很多設(shè)計(jì)程序時(shí)的需要注意的地方,而理解支持的四種基本范型卻是理解各種語(yǔ)言設(shè)施的基礎(chǔ)。然后記住C++的最大的一點(diǎn)設(shè)計(jì)哲學(xué),也是其貫穿應(yīng)用C++的一條本質(zhì),我引用《C++ PRIMER》中文版前言?xún)?nèi)的一句話表示--“C++的基礎(chǔ)是各種設(shè)施,它們讓用戶(hù)能夠通過(guò)定義新的數(shù)據(jù)類(lèi)型來(lái)擴(kuò)展語(yǔ)言本身,這些新類(lèi)型可以與內(nèi)置類(lèi)型一樣的使用方式(如何理解這句話是關(guān)鍵,我的理解是:用戶(hù)定義類(lèi)型可以在任何使用內(nèi)置類(lèi)型的時(shí)候做為其替代,再具體點(diǎn)說(shuō)就是用戶(hù)定義類(lèi)型可以象內(nèi)置類(lèi)型那樣可以被聲明,其對(duì)象可以被初始化,可以相互復(fù)制,可以象內(nèi)置類(lèi)型對(duì)象那樣和很多操作符一起使用,可以被作為參數(shù)傳遞給函數(shù),可以作為函數(shù)的返回值,可以作為容器的操作對(duì)象,用戶(hù)定義類(lèi)型可

  以和內(nèi)置類(lèi)型一樣作為模板的參數(shù)),掌握這些設(shè)施(哪些設(shè)施?就是讓用戶(hù)定義類(lèi)型可以和內(nèi)置類(lèi)型一樣方便使用的設(shè)施,包括什么?構(gòu)造,拷貝,解構(gòu)函數(shù),操作副重載.....)的第一步就是理解基本語(yǔ)言(什么是基本語(yǔ)言?就是C++中better c部分)。

  在此,我還想提出一點(diǎn)十分重要的概念:一門(mén)語(yǔ)言的'最本質(zhì)的東西就是其類(lèi)型系統(tǒng),任何語(yǔ)言都有自己的獨(dú)特的類(lèi)型系統(tǒng),學(xué)習(xí)C++就是學(xué)習(xí)他的類(lèi)型系統(tǒng)。所以首先需要徹底明白什么是數(shù)據(jù)類(lèi)型這個(gè)概念。這樣你的思路就清楚了,你有選擇,從每一種C++支持的設(shè)計(jì)范型入手學(xué)習(xí)。

  結(jié)構(gòu)化設(shè)計(jì)-----也就是C++中的better c部分,你需要在C的基礎(chǔ)上學(xué)會(huì)函數(shù)重載和引用這兩個(gè)最重要的語(yǔ)言新特心性。

  基于對(duì)象----你需要建立C++最強(qiáng)大的概念--類(lèi),也就是用戶(hù)定義類(lèi)型,這其實(shí)就是數(shù)據(jù)結(jié)構(gòu)里面接觸的抽象數(shù)據(jù)類(lèi)型的概念,以及合理構(gòu)造使用類(lèi)的一系列語(yǔ)言措施。并始終記住,在C++進(jìn)行設(shè)計(jì)時(shí)用類(lèi)來(lái)表示我們需要表示的概念。類(lèi)也是C++抽象機(jī)制里面最核心的概念。

  面向?qū)ο?---在這里你需要知道繼承和多態(tài)這樣的OO概念,以及句柄類(lèi)這樣常見(jiàn)的設(shè)計(jì)技術(shù),這里你需要明白你開(kāi)始進(jìn)入了對(duì)接口編程的階段。同時(shí)你要學(xué)會(huì)OO思想,C++的一些設(shè)施只是為了把OO思想在語(yǔ)言所支持的語(yǔ)義中充分的表示出來(lái)。但是在這里,同時(shí)你需要明白的C++能表示的語(yǔ)義是受到其當(dāng)初語(yǔ)言設(shè)計(jì)原則限制的(什么原則?靜態(tài)類(lèi)型檢查,不為不需要的東西付出代價(jià),選擇權(quán)在程

  序員手上語(yǔ)言本身不去強(qiáng)迫程序員的做出選擇),也就是說(shuō)C++所能表示的OO思想可以稱(chēng)為具有C++特色的OO思想了。這樣的OO思想和JAVA所代表的純OO哪個(gè)更好?沒(méi)有定論,因?yàn)樗麄儽旧淼脑O(shè)計(jì)理念就不一樣。

  泛型設(shè)計(jì)----這里你需要明白最重要的一點(diǎn)是C++的temlate機(jī)制無(wú)論其開(kāi)始建立的初衷是什么,現(xiàn)在他所代表的真實(shí)含義是:編譯時(shí)類(lèi)型推導(dǎo),也就是編譯時(shí)多態(tài),由此明白了泛型的核心---把各種類(lèi)型當(dāng)作一種抽象條件的具體化,C++有措施可以定義抽象條件嗎?沒(méi)有,所以這些條件只能定義在我們自己的心中,但我們可以把具體化的類(lèi)型當(dāng)作一種抽象條件實(shí)現(xiàn)在template機(jī)制中去,從而使tempalte成為比類(lèi)型推導(dǎo)機(jī)制更進(jìn)一步的東西,那就是抽象條件的推導(dǎo)。也就是說(shuō),我們不再把template接受的參數(shù)看成是類(lèi)型,而是把template看成是一種接受抽象條件的機(jī)制,無(wú)論其類(lèi)型如何,只要這種類(lèi)型滿(mǎn)足tempalte所接受的抽象條件就可以作為參數(shù)傳遞進(jìn)去,這樣就代表了一種泛型的思想-----類(lèi)型不再是根本,抽象條件才是,類(lèi)型不過(guò)是抽象條件的外衣和在C++中的實(shí)現(xiàn)方式而已。在結(jié)合基于對(duì)象和泛型設(shè)計(jì)這兩種抽象設(shè)計(jì)模式的技術(shù)上誕生的工業(yè)產(chǎn)品就是---STL。

  (二)書(shū)的誘惑

  《C++程序設(shè)計(jì)語(yǔ)言》:如果你只買(mǎi)一本C++書(shū),這本就是你的選擇,作者Bjarne就是讓你做出這樣選擇的全部理由,沒(méi)有人能比他更了解什么樣才是真正的使用C++編程了,有人說(shuō)到這本書(shū)語(yǔ)言晦澀,或者對(duì)與初學(xué)者此書(shū)不適合,對(duì)此評(píng)論我頗不以為然,我看的是中文版,起碼在我看來(lái)語(yǔ)言描敘非常到位,我喜歡這樣的技術(shù)描敘風(fēng)格。全書(shū)的核心就是告訴你如何去用正確的觀念編寫(xiě)正確的C++的代碼。強(qiáng)烈推薦。

  《C++語(yǔ)言設(shè)計(jì)與演化》:這本書(shū)也是我同時(shí)擁有中英兩版的兩本書(shū)之一(另外一本是《設(shè)計(jì)模式》)。如果在得到上面的那本書(shū)之后你需要第二本,那么在我看來(lái)這就是你的選擇,作者同樣是Bjarne,他將在這本書(shū)中告訴你C++的起源與發(fā)展,語(yǔ)言原則與本質(zhì),各種特性加入的理由和考量,以及幾乎一切關(guān)于C++有趣的故事。我閱讀過(guò)中英兩版,都是強(qiáng)烈推薦。

  《C++標(biāo)準(zhǔn)程序庫(kù)》:在AMAZON上面關(guān)于C++書(shū)籍評(píng)論最為火暴的一本。全書(shū)對(duì)于標(biāo)準(zhǔn)程序庫(kù)的介紹可謂深入淺出,而且全書(shū)都是從實(shí)際運(yùn)用出發(fā),書(shū)中例子簡(jiǎn)單卻非常說(shuō)明問(wèn)題,加上一些圖表的陳列,使其概念十分清晰,而且從手冊(cè)和學(xué)習(xí)兩方面看都有其存在價(jià)值。強(qiáng)烈推薦。

  《EFFECTIVE C++ 中文版》:無(wú)須多說(shuō),在任何C++書(shū)籍推薦目錄中都可以找到這本書(shū)的身影,盛名之下必?zé)o虛士。主要強(qiáng)調(diào)的是運(yùn)用C++的各種特性的時(shí)候所必須注意的地方,以及一些比較通用的設(shè)計(jì)手段。其短小精悍的語(yǔ)言自然非常適合快節(jié)奏的現(xiàn)代風(fēng)格,個(gè)人就十分喜歡Meyer的寫(xiě)作方式。強(qiáng)烈推薦。

  《MORE EFFECTIVE C++ 中文版》:做為上本書(shū)的姐妹篇,一樣的寫(xiě)作風(fēng)格,一樣的寫(xiě)作目的。只是個(gè)人認(rèn)為和其姐姐相比,存在差距,主要是信息量沒(méi)有《EFFECTIVE C++ 中文版》那么大,主要說(shuō)到了一些C++的設(shè)計(jì)慣用手法。。

  《C++ PRIMER 中文版》:同樣是出自大師之手,作者LIPPMAN,作為早期C++編譯器的實(shí)現(xiàn)者之一,對(duì)與C++的了解以及該如何論序都有自己的獨(dú)到見(jiàn)解。做為C++的百科全書(shū)和《C++程序設(shè)計(jì)語(yǔ)言》有著一樣的地位。但是前者更強(qiáng)調(diào)的是C++的語(yǔ)法和其語(yǔ)義,而后者則是以如何用C++進(jìn)行合理設(shè)計(jì)做為描敘的中心。全書(shū)構(gòu)思十分巧妙,書(shū)的一開(kāi)始就直接進(jìn)入C++的主題,前面五章都用類(lèi)設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu),讓讀者完全明白了各種用戶(hù)定義類(lèi)型所代表的抽象能力,然后直接進(jìn)入第六章標(biāo)準(zhǔn)庫(kù)中的容器類(lèi),這樣的設(shè)計(jì)讓讀者十分清楚的建立容器和類(lèi)這兩個(gè)C++中十分重要的概念。這樣的設(shè)計(jì)針對(duì)有一定基礎(chǔ)的C++讀者來(lái)說(shuō)可以說(shuō)是非常有效果的。但是對(duì)于初學(xué)者來(lái)說(shuō),這確實(shí)不是一本合適的書(shū)籍,因?yàn)橐簧蟻?lái)太多的名詞會(huì)把剛剛接觸C++的人嚇著的。

【C++的學(xué)習(xí)方法及書(shū)籍推薦】相關(guān)文章:

勵(lì)志的書(shū)籍推薦08-02

精選C++面試題及答案10-03

青春勵(lì)志的書(shū)籍推薦08-01

有關(guān)勵(lì)志的書(shū)籍推薦09-23

經(jīng)典勵(lì)志的書(shū)籍推薦09-23

職場(chǎng)勵(lì)志的書(shū)籍推薦07-28

優(yōu)秀心理書(shū)籍推薦06-19

正能量書(shū)籍推薦09-25

專(zhuān)業(yè)書(shū)籍推薦08-04