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