c++學習方法11

C++學習推薦書目 比較中肯的讀書經驗

語言入門:


有豐富C經驗,缺乏C++經驗的: 《C++ Primer (3RD)》

有其他語言的豐富經驗的: 《The C++ Programming Language》簡稱TCPL(對不住純C的fans了)

如果選擇薄一點的書:《Essential C++》《Accelerated C++》都是不錯的選擇。

其實,我個人一直認爲C++Primer帶着太過強烈的C的痕跡,對於學習C++未必是好事。

Accelerated C++我沒有讀過,從各方面的評價來看,完全值得推薦。

這幾本書都有相應的中文版,而且翻譯的質量都不錯。上面的書未必都需要讀一遍,但無論如何,TCPL是應該閱讀的。

進階A:

這個路線側重於語言本身

《Effective C++》 簡稱EC,C++程序員必讀!如果我有權招聘程序員的話,沒有讀過這本C++“聖經”的人,大概...很多時候,我們說C++聖經不是指TCPL,而是這一本。

《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》簡稱《C++ 編程規範》,個人認爲,這是C++程序員必備的案頭書。幾乎Effective系列和Exceptional系列都在這裏得到了總結。最新的模版、異常的業界經驗都在這裏的到了體現。可能的唯一缺陷就是對一個新手而言,對於爲什麼這麼做,解釋的不夠。我的看法是:如果你不理解其中的條款,記憶,並且照做;如果你理解其中的條款,我猜你一定會同意書中的觀點。我估計,這本書中的內容至少在2009年以前都不會過時,人們將廣爲傳誦它制定的101條戒律。還不知道他的簡稱,也許101會成爲一個候選者?

提到《Effective C++》,那麼另外三本書一一浮出水面:

《More Effective C++》簡稱MEC,
另有CHM版的 http://www.shubulo.com/viewthread.php?tid=17065

《Exceptional C++》和《More Exceptional C++》。


新書《Exceptional C++ Style》也是值得一看的好書。

上述幾本書,一本也不應該放過。

個人建議上述書籍按順序閱讀。並且,在將來反覆閱讀上述幾本書。

進階B:

這個路線側重於標準程序庫。

《The C++ Standard Library》聽說過STL嗎?這本書會教你最基本的,也是最重要的STL的使用。
STL編程指南(Programmer 's Guide)電子書
http://www.shubulo.com/thread-35929-1-1.html


中文版名稱:《C++標準程序庫 自修教程與參考手冊》,這本書,應該是必讀的。

《Effective STL》會使用STL還不夠,還必須知道什麼時候選擇什麼STL組件,這是STL使用的必讀書。

《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》,中文名稱《泛型編程與STL》。這本書理論性較強,但是...但是真的很嚴謹,而且並不是非常難懂。理解其中對於Concept的解釋,將是非常重要的。

《C++ STL》這不是講述使用程序庫的,而是講述程序庫實現原理的。腸胃不好的,需要慢慢吸收。是不是翻譯的問題呢?cber,你先賄賂我一下的說^_^

這個路線的書,仍然是建議按順序閱讀。

AB兩個路線應該是可以並行的。

其他進階參考書

提出這些參考書,只是避免爭議,我只認真看完了其中的一本。

《Thinking in C++》這本書及其中文版傳言好壞都有,沒有認真看過,不做評價,如果確有興趣,不妨嘗試一下該書。

《C++必知必會》,如果早一年,這本書將是重量級的,然而它被101和《Exceptional C++ Style》蓋過一頭。

《C++ Gotchas: Avoiding Common Problems in Coding and Design》,這是一本我未曾讀過的書,而且廣泛的獲得好評。中文版《C++程序設計陷阱》

《STL 源碼剖析》這本書我剛到手,就被人“借”走,以至於我到現在也沒有看過。看過這本書的朋友,可以給一個合適的評價。

《Imperfect C++》,這確實是一本好書,個人認爲不大適合缺乏工程經驗的人。不過,如果你看完了前面步驟的書,那麼看這一本書將是一件非常輕鬆的事情。書中光盤所附的stlsoft庫還真的是一個精品。到目前爲止,這本書我剛看了一半。

高級:

《The Design and Evolution of C++》簡稱D&E,內容並不艱深,Bjarne的書,僅此,就值得一讀。

《Inside The C++ Object Model》中文版:《深度探索C++對象模型》,這個C程序員一定會覺得C++原來並不神祕。

《C++ Template》在閱讀STL、Boost或者Loki的源代碼之前,請仔細閱讀本書,它可以減輕一些閱讀的煩惱。這本書是談論C++模版的權威。

《Modern C++ Design Generic Programming and Design Patterns Applied》簡稱MCD,中文書名《C++設計新思維??泛型編程與設計模式之應用》。在閱讀MCD之前,簡易先閱讀C++ Template。

你對C++覺得不滿嗎?《對象揭祕:Java、Eiffel和C++》可以部分的幫助你完成抱怨的目標。也許它還可以讓你不迷信C++。

另外,一份C++標準文檔也應該是加以咀嚼的。

還有一些書籍,並不能簡單的歸於C++,也難以在純粹的書本學習中加以掌握。《設計模式》一書就是這樣。因此,這裏推薦的僅僅限於C++語言本身。

所有上述的書籍,不是談論C++語言本身,就是談論STL的。偶爾,某些書中條目也會涉及問題相關的現實工程。這些書並不是C++軟件開發的全部,但是他們很重要。閱讀這些書,未必需要化費太多的精力,有時候會困難,有時候會很快速。回顧我自己閱讀上述書籍的經歷,這差不多是3年的時間。

---------------------------

有幾本書,需要說明一下的。

《Multi-Paradigm Design For C++ 》,這本書有些陳舊,也許在出版的年代還是很優秀的,現在,這樣的書已經完全可以被推薦書目覆蓋了。最重要的是,書中的某些觀點今天已經不合時宜了。

《C++編程慣用法》這是一本如雷貫耳的書,可惜,這本書是1992年出版的,書中的很多內容,已經被後來的作品覆蓋,而且講述得更全面嚴謹。另外,該書中對於C++的認識,在今天看來,已經過時甚至成爲錯誤的觀點。因此,只適合已經通曉C++的人蔘考。

《深入淺出MFC》

這是一本講述如何使用MFC庫的書。今天,MFC日漸式微,而且,MFC所使用的C++技術也是一直爲人所詬病的。書確實是不錯的,但是,學習C++並不一定要學習MFC。因此,對於學習C++而言,這本書不是必須。

《The Art Of C++》

老實說,我對這本書的評價一般般。而且,“Art”名不副實,有翻譯成《C++實戰》,到是更確切一些。

《大規模C++編程》

這是一本重要的書,特別是對於缺乏大規模C++軟件開發的人來說,尤其如此。但是,這本書的中文版翻譯太差勁了。這是一本關於工程的書,因此,並不是C++學習必備的。另外,書中的觀點略嫌保守,對於最新的C++技術運用不多。

<Imperfect C++>

這是一本基礎於實踐結合的書,確實很優秀,而且所講內容並不很難。但是從學習C++的角度而言,理解這本書需要許多的實踐經驗。推不推薦,屬於兩難的一本書。

C++ Primer和TC++PL都不適合初學者

這個書目的目標是:幫助一個人在C++領域儘快地登堂入室,幫助一個人成爲合格的C++程序員

發佈了43 篇原創文章 · 獲贊 9 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章