l C++ Primer 《C++入門》(通常不用中文名)
有第三版和第四版, 如其名, 是C++入門的不二選擇, 是全面廣泛的參考書目, 內容豐富, 筆觸嚴謹。 如果說Bjarne Stroustrup是C++之父的話, 那麼Lippman可以說是C++之母了:)
l The C++ Programming Language 《C++程式設計語言》
有第三版特別版, 剛剛為一個朋友買了一本, 不用說了 Bjarne Stroustrup寫的, 權威之作, 可以說與C++ Primer是同等廣博的“聖經”級別的參考書。
l Essential C++ 《C++基礎》
同樣是入門的基礎, 也是由Stanley B. Lippman執筆的作品, 研究語法, 語意再好不過的了。
學程式設計最重要的是實踐, 就是寫代碼、看別人寫的代碼、再寫代碼, 你看再多的書, 不寫代碼, 你還是不會程式設計。 但是寫代碼也要講究方法循序漸進, 不能剛學了幾天語法, 就想寫個作業系統什麼的, 樹立這種不切實際的目標只會讓你的自信受到嚴重打擊迷失自我。 同時小編推薦一個學C/C++的學習群627819188無論你是大牛還是小白, 是想轉行還是想入行都可以來瞭解一起進步一起學習!群內有很多乾貨和技術分享!
l Effective C++ , More Effective C++
這幾本我認為應當歸在一起介紹, 老實說這些條款是開發項目以及平時學習中不可缺少的Golden Tips, 反復閱讀, 你會發現這些條款實在是再深刻不過的了。
l Exceptional C++ , More Exceptional C++ , Exceptional C++ Style
這三本也是該歸在一起的, Herb Sutter是C++標準委員會的老大, 現在人在微軟, 他的書當然也是相當具有啟發意義的。
l C++ Coding Standards: 101 Rules, Guidelines, and Best Practices 《C++ 程式設計規範》
這本最近又看了一遍也是感到尤其深刻, 案頭書的描述再好不過了, 裡面豐富的名言, 豐富的內涵, 以及每次重複閱讀都能有新的發現, 哎, 不稱之為經典也不幸哎!
進階B, STL與範型(GP):
作為標準庫的一部分, STL已經深入我們的開發生活, vector,list,deque,set,map等等都是我們首選的容器, iterator的機制已經無可厚非地被接受,
l The C++ Standard Library 《C++標準程式庫—自修教程與參考手冊》
STL怎麼用?看看本書吧。 Nicolai M.Josuttis好像也是C++標準委員會的成員, 也是C++ Template的作者。
l Effective STL
簡單的使用後的提升。 會使用STL還不夠, 還必須知道什麼時候選擇什麼STL元件, 這是STL使用的必讀書。
l Generic Programming and the STL: Using and Extending the C++ Standard Template Libra 《泛型程式設計與STL》。
書的副標題很謙虛, 似乎說本書只是使用和擴展, 其實本書可謂GP理論入門的必讀, STL的內涵與設計都可以看到。 這本書理論性較強, 但是真的很嚴謹, 而且並不是非常難懂。 理解其中對於Concept的解釋, 將是非常重要的。
l C++ Standard Template Library 《C++ STL》
兩位STL庫的設計人員P.J.Plauger和Meng Lee, 講述STL實現的原理。 這不是講述使用程式庫的, 而是講述程式庫實現原理的。 腸胃不好的, 需要慢慢吸收。
l C++ Template 《C++範本》
本書可謂全面介紹了範本的使用細則,
l C++ Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond
本書沒有看到中文版, 也是一本介紹範本元程式設計的專業參考書, 十分細緻地講述了高級的範本技術, 只是本書只有英文版的。
再進階A, 底層機制:
l The Annotated C++ Reference Manual
標準庫的全面解析, BS老大為標準庫量身定做的很OFFICAL的參考。 簡稱:ARM
l Inside the C++ Object Model 《深度探索C++物件模型》
即使反復學習了進階A, 依然有許多語言實現方面的Puzzle問題, 尤其是虛繼承, 臨時物件等令人麻煩的深層問題值得學習, Lippman以一位專家的身份給了我們一個深窺語言內部的可能, Lippman的書都有C和底層實現的影子。
再進階B, 設計模式:
l 15. Design Patterns - Elements of Reusable Object Oriented Software 《設計模式》
GoF聽說過嗎?Gang of Four(四人幫:)就是說的本文的四位作者, 他們是設計模式總結的先驅, 看了本書之後, OO的設計模式會深入裡的大腦。
由於模式的細微性過大, 所以不能被代碼化, 只是一種概念, 可以說是體現在項目中的靈魂。
l Modern C++ Design : Generic Programming and Design Patterns Applied 《C++設計新思維》
本書最近好好地研究過了,這裡終於要介紹Andrei Alexandrescu了,他是Real公司的專案經理,是GP範本技術的天才,他的高深範本技術影響了BOOST以及全世界的範本怪傑,本書中他介紹他的庫Loki,雖然庫十分激進沒有實際用途,當時展現的絢爛的特技令人嘆服!同時本書是設計模式用範型實現的經典展現,以及Policy設計模式在其中的極致應用,直接影響了BOOST的adaptor設計(7個Policy)甚至影響了標準庫的智慧指標項目(雖然最後被否認了,當時絕對是完美的實現方法)。簡稱MCD。在閱讀MCD之前,建議先閱讀一下《C++ Template》。
C++進階之路(三)其他高級:
l The Design and Evolution of C++ 《C++語方的設計和演化》
又是BS老大的一本,值得一看。簡稱D&E,內容並不艱深,Bjarne的書,僅此,就值得一讀。
l 《對象揭秘:Java、Eiffel和C++》
你對C++不滿嗎?這本書可以部分地幫你完成抱怨的目標。也許它還可以讓你不迷信C++。
l Imperfect C++ 《不完美的C++》
本書介紹了許多新一代技術,以及C++很多有趣的技術,BS本來想把它加入C++ In Depths行列的,可惜最後說了一句:“如果本書再少一些,也許我會考慮的。”就完了,但是無論如何本書都是一本好書,值得一看。
本文最後祝所有正在學習C++,或者尋求進階的小夥伴早日成為一名優秀的C++程式師。
本書最近好好地研究過了,這裡終於要介紹Andrei Alexandrescu了,他是Real公司的專案經理,是GP範本技術的天才,他的高深範本技術影響了BOOST以及全世界的範本怪傑,本書中他介紹他的庫Loki,雖然庫十分激進沒有實際用途,當時展現的絢爛的特技令人嘆服!同時本書是設計模式用範型實現的經典展現,以及Policy設計模式在其中的極致應用,直接影響了BOOST的adaptor設計(7個Policy)甚至影響了標準庫的智慧指標項目(雖然最後被否認了,當時絕對是完美的實現方法)。簡稱MCD。在閱讀MCD之前,建議先閱讀一下《C++ Template》。
C++進階之路(三)其他高級:
l The Design and Evolution of C++ 《C++語方的設計和演化》
又是BS老大的一本,值得一看。簡稱D&E,內容並不艱深,Bjarne的書,僅此,就值得一讀。
l 《對象揭秘:Java、Eiffel和C++》
你對C++不滿嗎?這本書可以部分地幫你完成抱怨的目標。也許它還可以讓你不迷信C++。
l Imperfect C++ 《不完美的C++》
本書介紹了許多新一代技術,以及C++很多有趣的技術,BS本來想把它加入C++ In Depths行列的,可惜最後說了一句:“如果本書再少一些,也許我會考慮的。”就完了,但是無論如何本書都是一本好書,值得一看。
本文最後祝所有正在學習C++,或者尋求進階的小夥伴早日成為一名優秀的C++程式師。