畢業快一年半了,這些時候,都是在底層方面做的一些工作,雖然內核的C也實現了C++中的一些抽象機制,面向對象,繼承,多態,封裝等等,但是,想著大學裡面,電子類的學習,都是偏向底層的,有過C++的課程,也只是簡單的做做習題之類的,從今天開始,每天一篇C++學習的博客以及自己在有道雲筆記上面的資料整理。寫文章,寫給自己看的和寫給大家看的,那種真正勁頭還是不一樣的,對自己要有催促的力度。
這次學習,主要是先借助網上的一些文章來總體的把握這門語言,然後,一個知識點一個知識點的去實踐和總結,連同數據結構也一起復習一次。
以下的內容主要是根據劉未鵬_C++的羅浮宮來總結的,感謝這位大神。
C++和C,自己覺的應該都屬於那種易學難精的語言。C++語言的細節太多,一些經典的書籍(有意還是無意的)在暗示語言細節的重要性和有趣(是否有趣,還真是仁者見仁智者見智),現代的C++開發所涉及到的一些語言細節(常用的語言細節 日常編程:C++庫設計=8:2)。看了一些好的博客,覺的,那種循序漸進的方式來講解知識點的方法,既通俗易懂,又讓人了解每種方法或者概念的提出的來源,不是無中生有的,是為了解決具體問題而提出的。首先要對語言有一個全局的觀念,其次在來漸進漸入。
開發庫裡面的實際需求要求充分挖掘C++中的語言細節,要動用模板編程技術。
C++中眾多的細節雖然在庫設計者手裡面有其用武之地,但普通程序員則根本無需過多關注,尤其是沒有實際動機的關注。
一般性的編碼實踐准則,以及基本的編程能力和基本功,乃至基本的程序設計理論以及算法設計。才是真正需要花時間掌握的東西。
學程序是用來解決問題的。重要的不是你掌握的語言,而是你掌握的能力,借用myan老大的話,“重要的是這個磨練過程,而不是結果,要的是你粗壯的腿,而不是你身上背的那袋鹽巴。”
C++的書,Bjarne的聖經《The C++ Programming Language》是高屋建瓴的。《大規模C++程序設計》是挺務實的。《Accelerated C++》是最佳入門的。《C++ Templates》是僅作參考的。《C++ Template Metaprogramming》是精力過剩者可以玩一玩的,普通程序員碰都別碰的。《ISO.IEC C++ Standard 14882》不是拿來讀的。Bjarne最近在做C++的教育,新書是絕對可以期待的。
學習什麼,都要有任務驅動的方法來學些,要不然,所學無用,只會前面學後面忘。