c++ 的第一次親密接觸(一)

      c++還是大學時候學的,當時沒好好學習,工作後寫了兩年的java,現在對c++忘的差不多了,前兩天連基本語法都記不清了,更別提內存模型什麼的了,於是痛下決心,買了本《C++ Primer Plus》英文版,準備潛心研讀。

      因爲是英文的,所以決定翻譯一下,雖說是翻譯,實際上應該是記些筆記而已,但是覺得所有內容都是從人家書上摘抄下來的,所以還是覺得放在翻譯類別裏吧。希望能夠幫助記憶,如果有朋友不想看詳細的內容的,也可以看看我摘抄的翻譯部分,我念書的時候就挺喜歡這樣的內容,看起來快,也應該有所幫助,尤其是對於考試;-)

      第一章是c++的簡介。

      c++是在c的基礎上發展而來的,支持面向對象編程,泛型編程。同時它也支持過程化編程。可謂身兼三職,或者說是三面間諜。

      1. 過程化編程繼承自c的特性。

      2. 面向對象編程由c++ 在c的基礎上通過引入class的概念而得到支持。曾經有人問我c++和java是不是純粹的面向對象編程語言,我吱吱唔唔答不上來,現在明白了,c++不是,因爲他支持面向過程編程,而java是,因爲java所有的方法和域必須在類中。

      3. c++的template 模板方法支持了泛型編程,具體的解釋其實我也還不是很清楚,後續的學習中再深入研究。

      先講點C的花邊,當初,大概是在20世紀70年代,貝爾實驗室的Dennis Ritchie 寫煩了彙編,想有個簡單的編程語言,所以他就寫了個C出來,牛人就是這樣,自己不高興了就寫點新的東西,拓展一下其他人的世界觀。然後我不才之輩拼了命也不得其萬一。c兼具彙編的高效和英語的通俗易懂,非常適合多平臺移植--只需要在不同平臺上用不同的編譯器編譯一下就好了,如果用匯編的話得完全重寫!所以說懶人改變世界!總之C一出就風靡世界。

      一般來講,程序處理的概念就兩個:數據結構和算法。

      用做飯類比的話,數據結構是食材,算法就是菜譜,這兩樣放到一起就可以做成中華小當家裏面那些酷炫的能吃出大海感覺的料理了。

      C支持結構化編程的概念,在C之前的fortran 和basic是過程化編程語言,程序一些一大堆,搞的像意大利麪,所以叫意大利麪編程(spaghetti programming)。寫完之後除了作 者,沒人能看得懂,過一個月,作者自己也看不懂了。而C把邏輯判斷分支for ,if ,while 這些加入關鍵字,支持了結構化編程,把代碼的邏輯更加模塊化,易於維護。

      自頂向下是C的又一新概念,其實就是把大的模塊不斷分成小的,小到很易於實現的時候就不再分了。面向對象寫多了之後自頂向下就順理成章了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章