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