老司机普及的c++入门心得!
算起來,用C++已經(jīng)有七八年時間,也有點可以分享的東西;
以下推薦的書籍大多有電子版。對于技術類書籍,電子版并不會帶來一個好的閱讀體驗。如果喜歡,最好找紙版(圖書館是個好去處);電子版更適合作為一個參考書籍常備電腦。
我將分為基礎篇、Windows篇、和Linux/Unix篇 三個部分來介紹這些經(jīng)典書籍:
C++入門
《C++ Primer》
我的C++入門讀物是《C++大學教程》,這本書800多頁,由于學習時間長,一個學期學這么一本書,時間上的富裕,讓我有充分的時間來吸收。書中80%的代碼我都敲到PC上運行過;后來再看《C++ primer》的時候,也就一個星期的功夫翻完了。都是入門讀物,介紹的也都全面。剛接觸C++的朋友,至少應該將這方面的書好好過一遍。
語言技巧,性能優(yōu)化
《Effective C++》
《C++必知必會》
《More Effective C++》
有了語言基礎之后,接著就是細節(jié)上的深入,進一步領會C++的精髓。《Effective C++》可以看作是一本C++ 疑難解惑手冊; 對于C++語言層次深入一點的東西,容易出錯的知識點,在這邊書上可找到滿意解答;適合多次品味。
《C++必知必會》《More Effective C++》則作為對Effective C++ 沒有講完的補充,可看作前者看完后意猶未盡時使用;
順便說下,這三本書都不厚,小冊子,每本也就幾天的功夫就可以搞定;
底層硬貨
《C專家編程》
《C和指針》
C++源于C,對于指針、對于各種地址的偏移計算,對于大端小端的深刻剖析,還得靠一些硬通貨來解析;這兩本書雖說不厚,但讀起來確實費勁,信息量很足,很多都是在平時C++使用中沒有意識到的知識點,卻又都是重要的點。讓人有知其所以然的快感;
涉及到底層的東西,都是用來驗證編程功底是否扎實。要想徹底掌握C++底層的東西,還是得看看專家編程,很好的兩本書,指針等講的很透徹。
STL
《C++標準程序庫》
《泛型編程與STL》
《STL源碼剖析》
《C++標準程序庫》是屬于百科全書類型,講解基礎,但語言平淡(是以參考手冊的角度來寫的),沒有勇氣將其全部翻完,撿感興趣的和自己很缺乏的部分看了看(里面關于智能指針方面的論述,還不錯);
《泛型編程與STL》里面對萃取機制及各泛型的概念論述非常透徹,前6章為主要篇章,不可跳過。后面的可在實踐中編碼練習或查找。 后面章節(jié)可在看完之后做為手冊使用,對STL中的常用算法和容器進行了歸類講解,并給出了相當數(shù)量的示例。
《STL源碼剖析》每一個推薦深入STL的文章應該都少不了這本書。下面幾個問題可以考查一下是否需要看看: 1.STL中DQueue的實現(xiàn)機制(數(shù)據(jù)結構式如何組織的,其迭代器的插入和刪除過程中的實現(xiàn)) 2.是否熟悉紅黑樹,能否敘述其插入和刪除過程,如何調(diào)整。 3.萃取器的幾種實現(xiàn)
Boost
《超越c標準庫——boost程序庫導論》
當標準庫無法再滿足你的時候,就輪到Boost出場了。編程,講究兩個效率,一是開發(fā)效率,二是運行效率。與其它編譯型語言相比(java、C#等),C++屬于后者,運行效率不錯,但開發(fā)效率著實低。除了C++更底層的原因外,另一方面的原因就是標準庫提供的功能不足。沒有太多的工具,想實現(xiàn)什么都得自己來一遍,重復的造輪子的工作在程序員中不斷上演;
Boost庫是對C++標準庫的擴展,讓我們在開發(fā)的過程中有更多的工具可以選擇。正則表達式、智能指針等工具都是非常有用的工具,而函數(shù)對象,Lambda則讓我們在編寫C++的代碼中更為優(yōu)雅;
這里提供的一本書是Boost的入門經(jīng)典。它的目的就是讓你對boost產(chǎn)生興趣。等有了興趣之后,就直接上boost的官網(wǎng)吧,需要什么盡管拿。
如果大家對C/C++感興趣的話,可以加一下我們的學習交流Q群:637 ?935 ?295,免費領取一套學習資料和視頻課程喲~
設計模式
《設計模式》
《設計模式精解》
《道法自然》
《設計模式》是該領域的圣經(jīng),未全看完。雖說經(jīng)典,但一頁一頁的翻完,還真要點耐性。不像老外寫書的風格,這本書看的很累(這也是一本參考手冊)。我認為在對大部分模式都有一定的了解后再來看這本書,會找到很多興趣點。
《設計模式精解》我的設計模式之路是從這本書入門的,通過幾個實例來解釋模式的用法,以及為什么要用模式(這個可能更重要),不過全書也就講了10來個模式,意猶未盡。對設計模式感興趣、初學者推薦;
《道法自然》是國人寫的很不錯的一本書,用他們自己寫的一個框架系統(tǒng)作為實例,貫穿全文,講解各種模式的用法。看過后,體會到模式在大項目,特別是這種框架系統(tǒng)中的應用真是太到位了。同時,熟悉MFC的朋友會在本書中收獲更多的東西,MFC也是一個框架系統(tǒng),通過本書的講解,可以體會到MFC的內(nèi)部設計以及為何如此設計(書中就專門講到MFC中的設計思想),同時,在講單件模式的時候,還帶出了MFC中theApp的作用(為什么要在MFC中安排一個theApp全局變量?這是我看到的唯一一本書解釋了這個問題的);
總結
以上是生活随笔為你收集整理的老司机普及的c++入门心得!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始 Mask RCNN 实战:基于
- 下一篇: 自己常用的C/C++小技巧