作者:榮耀 www.royaloo.com
C++語言吸引如此之多的智力投入,以至于這個領域的優秀作品,包括重量級的軟件產品、程序庫以及書籍著作等,數不勝數。對于讀者來說,倘若限于經濟等客觀因素而必須做出折衷取舍,我推薦至少閱讀以下幾本書:
1. The C++ Programming Language (Special 3rd Edition)? by Bjarne Stroustrup
2. The Design and Evolution of C++? by Bjarne Stroustrup
如果你只打算購買一本書,那就選擇1,如果還想要第二本 — 那就是這兩本了。它們的作者是 C++語言的創建者。Stroustrup的文字語言絲毫不遜色于他所創建的程序語言。它們可以使你免于誤入歧途。
3. Effective C++: 50 Specific Ways to Improve Your Programs and Designs? by Scott Meyers
4. More Effective C++: 35 New Ways to Improve Your Programs and Designs? by Scott Meyers
5. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library? by Scott Meyers
我強烈推薦Meyers這個系列。它們是菜鳥進階必讀之作。游刃有余的技術,高超的寫作技巧。Meyers可能是世界上最優秀的C++技術作家。?
6. The C++ Standard Library : A Tutorial and Reference? by Nicolai M. Josuttis
C++標準庫字典式著作。內容全面,結構清晰。
7. C++ Templates: The Complete Guide? by David Vandevoorde, Nicolai M. Josuttis
Alexandrescu的Modern C++ Design閱讀門檻很高,這本書可以充當你的墊腳石。單單閱讀The C++ Standard Library或許并不足以使你具備定制、擴充標準庫組件的能力,這本書可以助你一臂之力。對于任何希望進入模板編程領域的C++程序員來說,這是一本必讀之作。
8. Modern C++ Design: Generic Programming and Design Patterns Applied? by Andrei Alexandrescu
一本天才的著作!泛型模式,無限延伸你的視野,足以挑戰任何一名C++程序員的思維極限。這本書幾乎可以滿足你對C++模板的所有幻想。
9. Design Patterns? by Erich Gamma , Richard Helm, Ralph Johnson, John Vlissides
設計可復用的面向對象的軟件,你需要掌握設計模式。這并不是一本專門針對C++程序員的著作,但它采用了C++(和Smalltalk)作為主要示例語言,C++程序員尤其易于從中受益。學習設計模式,這本書需要一而再、再而三的咀嚼。
這是公正客觀的推薦嗎?可能不是。實際上,沒有任何人能夠做到絕對客觀 — 至少The Design and Evolution of C++是否應該進入這個推薦列表就能惹起喋喋不休的爭吵。
還有許多優秀的著作值得推薦,但為了將推薦數目控制到個位數,它們沒能入選。換一個人也可能會給出另外的"九本書"列表,但至少大半會和這個列表重疊。
巧合的是,這幾本書均出自Addison-Wesley。它們絕大多數在市面上能找到相應的中文版,幾乎每一中文版都有很好的質量。祝各位閱讀快樂。