1. 程式人生 > >C++Primer第五版(習題答案詳解)

C++Primer第五版(習題答案詳解)

 C++Primer第五版——習題答案詳解

      新手入門必看的書。知識是一個系統化並且相互關聯的體系,零散的東西每天收穫如果不形成自己的體系的話,那將是毫無意義的,所以我覺得有必要將這本書先啃一遍,消化其中的關鍵有用的東西,瞭解相關但是目前不那麼重要的東西。部落格不是我的目的,將這本書中的知識啃透才是我的目標!共勉!

      看的不快不慢,有很多東西暫時確實用不上,所以很多都沒有深入的探討,但是知識點覆蓋的很全面,每一道題涉及的知識點都寫上簡單的解釋。

      文中程式碼的中文註釋也儘量詳細闡述,自己皆編譯通過。

      水平有限,如有有誤之處,希望大家不吝指教!

      不斷學習中,肯定會寫完的!歡迎交流。(~~最新學習過程更新見結尾~~)

第一章

第二章

第三章

第四章

第五章

第六章

第七章

第八章

第九章

第十章

第十一章

第十二章

第十三章

第十五章

第十六章

第十七章

第十八章

第十九章



2017年3月23日更新:歷時三個月,粗略的算是看完了這本書,簡單的進行總結一下:

     本書的Part I(C++基礎)是C++基礎,必須進行通讀掌握。這幾章有非常多的小細節比較坑爹,指標與陣列、指標與const、sizeof()運算子、this指標等等,看完這部分,一些最基礎的程式基本上都能解決。第3、6、7章個人覺得對新手最困難,而且非常重要,需要重點理解。

     Part II(C++標準庫) ,第8、9章最為重要,IO庫和容器對於一個程式來說是比較基礎的,記得不要在C++中還依然保持C的習慣,使用cout而不是printf()、使用vector而不是內建陣列、使用迭代器進行遍歷。第10、11章有點基礎的看起來不是很難,第十章的泛型演算法,如果能用起來會讓你的程式更上一層樓。第12章動態記憶體個人覺得對於一個想要深入學習C++的人來說非常重要,對於記憶體的理解、動態陣列、new和delete運算子,對於C++的理解更加”底層“一點,最後12.3的例子,一定要自己動手寫!

    Part III (類設計者的工具),我覺得是中級學習的核心了,第13章對於一個C語言的學習者來說是全新的東西,理解了拷貝和賦值還有移動,可以理解更加深入的理解類,面向物件是一個很重要的概念。第十四章我略過沒看,暫時用處不大。第15章面向物件程式設計,學完個人覺得是一個顯著的提升過程,最重要的是面向物件的這種思想,第15章中有很多的例子,一定要親手敲出來!第16章,模版與泛型程式設計,重在理解,16.1中的函式模版和類模版只要掌握就好了。

    Part IV(高階主題),第17章我也略過了,這些東西從來沒遇到過(17.5可以看看,作為第八章的延伸也挺有用的),暫時不看,只作瞭解。第18章個人覺得你要是有志於進行C++軟體開發,算是很重要的部分,18.1異常處理、18.2名稱空間、18.3多重繼承與虛繼承都要重點理解,個人在看很多github上的大型工程原始碼時,遇到的次數還是比較多的。第19章,雖然遇到不多,但是面試筆試過程真的很喜歡問這些,new和malloc的區別、new的底層實現過程、union的記憶體機制等等,建議19.1、19.4、19.6重點理解。

     上次參加優秀學長學姐分享活動,問了學長學姐關於程式設計學習的一些想法和經驗,總結幾點:

     1:瞭解多門語言,重點熟悉(別用精通~)一門語言(C++、Java、Python、JavaScript)

     2:語言只是工具,重點需要資料結構、演算法、TCP/IP等等,看具體的方向(機器學習、大資料、軟體開發、測試),畢竟學會了騎自行車,能騎多遠還得看各方面的因素:你的走的是哪條路、自己的體能有多好、天氣的適應等等

     3:調整心態,不要急於求成,看完幾本書並不能讓你成為大牛,不斷的前進才是真理!

     4:看完這本書,不要太糾結於C++這門語言本身,不要立馬去看Effective C++,Exceptional C++甚至The C++ Programming Language這樣的書,雖然都很好,但是資料結構和演算法相對來說目前更重要。

     5:人生不止程式設計,還有美妙的生活和美妙的人!

                                                                                                                                  ~~~~~~致正在學習的你!