C++是什么?怎么学?学完了能得到什么?
學(xué)習(xí)C++,為什么有很多C++大牛,有各自不同的學(xué)習(xí)方式,這個(gè)人這么學(xué),代碼這么寫,那個(gè)人那么學(xué),代碼那樣寫,到底誰(shuí)的正確的?我告訴你:沒(méi)有誰(shuí)對(duì)誰(shuí)錯(cuò),因?yàn)樗麄兊墓ぷ鳌W(xué)習(xí)、方向、環(huán)境造就了他們的學(xué)習(xí)方式。
很多剛出道的,慕名來(lái)學(xué)C++,但我想說(shuō)一句,假如你想學(xué)C++,請(qǐng)拿出你的巨大的毅力和精力來(lái)學(xué),不做好這種準(zhǔn)備,不建議學(xué)習(xí)并精通C++。
這里只說(shuō)C++,不涉及操作系統(tǒng)、計(jì)算機(jī)原理、網(wǎng)絡(luò)通信、加密解密等其它計(jì)算機(jī)學(xué)科的知識(shí),雖然他們是相輔相成的,但是我盡量不涉及這些知識(shí)。當(dāng)你學(xué)完之后,你或許可以重新學(xué)一遍我上面所提的一些學(xué)科知識(shí)。當(dāng)然,你不需要太過(guò)深入,把你大學(xué)里面的學(xué)會(huì)了理解了就可以了。
那么下面重點(diǎn)說(shuō)說(shuō),如何學(xué)習(xí)C++:
當(dāng)然首先無(wú)外乎重要的一點(diǎn),一本C++語(yǔ)法方面的書,從頭到尾看一遍,看的過(guò)程,多敲樣例代碼,書后習(xí)題一定要做,具體重點(diǎn)看那些了,我建議,看到類那里,把繼承看完,全部弄懂基本就可以了。一定要多敲代碼,多動(dòng)手,一定要弄懂指針,不懂的話后面學(xué)習(xí)讓你如墜云里霧里,所以指針一定要直到弄懂為止。
學(xué)習(xí)完以后,你的C++基本功底差不多了,那么如何鞏固和提高你的基本功了,這個(gè)時(shí)候,你要重點(diǎn)專研C++的多態(tài),虛函數(shù)、虛基類等一些容易搞混的東西,這些東西,你幾個(gè)月不用,基本上就忘的差不多了。筆者是一個(gè)C/C++出身的程序員,學(xué)習(xí)編程有什么學(xué)習(xí)問(wèn)題或者關(guān)于C/C++學(xué)習(xí)的路線的話可以私信我交流。
學(xué)習(xí)完上面之后,這個(gè)時(shí)候,你要開(kāi)始學(xué)習(xí)STL,這個(gè)可以算是進(jìn)階了。當(dāng)然,學(xué)習(xí)STL之前,你必須要有一點(diǎn)點(diǎn)數(shù)據(jù)結(jié)構(gòu)的知識(shí),假設(shè)你大學(xué)考試數(shù)據(jù)結(jié)構(gòu)考試不是抄的過(guò)了,你就可以開(kāi)始學(xué)習(xí)STL了,你需要弄懂vector、queue、deque、priority-queue、list、stack、map、set、multiset、multimap等,需要了解迭代器、算法、容器的概念以及使用方法。學(xué)習(xí)到什么程度就可以了呢,這個(gè)不好說(shuō),得看各人,自己把握。
然后,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)吧。用C++實(shí)現(xiàn)你大學(xué)數(shù)據(jù)結(jié)構(gòu)課本上所有的知識(shí)點(diǎn)(棧、隊(duì)列、樹(shù)、圖、查找排序算法等),當(dāng)然,實(shí)現(xiàn)完之后,你需要將這些實(shí)現(xiàn)的代碼記錄下來(lái),以備以后工作應(yīng)聘等不時(shí)之需。
以上學(xué)完了,下一階段該怎么學(xué)了,這個(gè)階段很重要,是銜接理論與現(xiàn)實(shí)應(yīng)用的銜接點(diǎn),很多時(shí)候,C++如果不借助于其它方面的一些已經(jīng)寫好的庫(kù),一些很簡(jiǎn)單的任務(wù)C++都完成不了,比如說(shuō)讓你寫一個(gè)windows的窗口應(yīng)用程序,你用C++,就實(shí)現(xiàn)不了。因?yàn)镃++的標(biāo)準(zhǔn)庫(kù),沒(méi)有與GUI相關(guān)的東西,這個(gè)時(shí)候,我們需要借助于其他的一些庫(kù),比如,MFC,QT的庫(kù)等,在這一個(gè)階段,你需要學(xué)習(xí)如何使用IDE平臺(tái)庫(kù)或者系統(tǒng)平臺(tái)的庫(kù),利用各種已經(jīng)寫好了現(xiàn)成的庫(kù),你只需要調(diào)用,就可以完成非常強(qiáng)大功能。這個(gè)時(shí)候,如果你挺聰明的,你或許可以用C++來(lái)寫一些小游戲了,比如俄羅斯方塊、貪食蛇等。
平臺(tái)庫(kù)我們用完了,但我們不局限于IDE或者系統(tǒng)函數(shù)庫(kù)的調(diào)用與使用,我們要使用除此之外的其它第三方庫(kù),比如網(wǎng)絡(luò)游戲那超級(jí)酷的3D效果,這個(gè)時(shí)候,比如opencv、PCL、opengl、directX等,具體怎么學(xué),看你的工作學(xué)習(xí)所需了。
直到現(xiàn)在,我們一直從語(yǔ)言層面上來(lái)學(xué)習(xí)C++,這一次,我們要從俯瞰的角度來(lái)審視C++,我們要學(xué)習(xí)C++的開(kāi)發(fā)模式,建議大家學(xué)習(xí)一下C++的開(kāi)發(fā)方法,開(kāi)發(fā)模式,二十幾種的設(shè)計(jì)模式。
到了現(xiàn)在為止,你需要溫故而知新,因?yàn)槟闱懊婧芏嗉?xì)節(jié)都忘了。你可以報(bào)考一門中級(jí)軟件工程師考試,用來(lái)讓你的編程與所有學(xué)科的知識(shí)進(jìn)行有效的糅合,系統(tǒng)化的學(xué)習(xí)計(jì)算機(jī)知識(shí),讓你對(duì)C++的理解和計(jì)算機(jī)的理解相輔相成,齊頭并進(jìn)。
學(xué)習(xí)完上面之后,C++我覺(jué)得你基本上算中上等水平了,可能很多的C++使用的人都停留在這個(gè)水平。不出意外,這個(gè)時(shí)候,你已經(jīng)學(xué)會(huì)用C++走路了,以后的路,需要你自己走了,以后的進(jìn)階,你需要選擇一個(gè)方向,比如通信、二維三維圖像、3D大型網(wǎng)絡(luò)游戲里面的某個(gè)重要的C++分支開(kāi)發(fā)等(基本上是公司和你自己的定位來(lái)幫你選擇方向),這個(gè)時(shí)候,需要的,大多是算法、算法優(yōu)化等,我們發(fā)現(xiàn)C++的學(xué)習(xí)方式,就是先廣度后深度。
?
總結(jié)
以上是生活随笔為你收集整理的C++是什么?怎么学?学完了能得到什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 黑科技!当会爬虫的Python遇上会画图
- 下一篇: MyEclipse下