C++程式設計師的閱讀清單

發表於2012-06-11

英文原文:Must read C++ book list,翻譯:iteye

多讀一些優秀的書籍,對於開發者穩固程式設計基礎、提高程式設計技能有很大幫助。但是,大多時候,初學者不知道應該讀什麼書入門,有一定基礎的開發者不知道如何進階。

本文總結了一個C++優秀書籍清單,希望能夠為你帶來一定的幫助。這些書大多數都有中文版,並且可以很容易在網上找到。

階段 1

Essential C++

這是一本內容不多但很實用的C++入門書籍,強調快速上手與理解C++程式設計。本書主要圍繞一系列逐漸複雜的程式問題,以及用以解決這些問題的語言特性展開講解。你不只學到C++的函式和結構,也會學習到它們的設計目的和基本原理。

C++ Primer

本書對C++基本概念、技術、以及現代C++程式設計風格進行了全面而且權威的闡述,是C++初學者的最佳指南;本書可以幫助你編寫實用的程式,而無需首先精通每個語言細節。對於中高階程式設計師,本書也是不可或缺的參考書。

 

階段 2

Effective C++》和《More effective C++

作者是Scott Meyers。你應該熟讀它們,並清楚地理解每個專案。該書圍繞55條準則,每一條都介紹了一個可讓你寫出更好的C++程式程式碼的方法,並以特別設計過的例子詳加討論。

More Effective C++

 

Exceptional C++(C++程式設計剖析)》和《More exceptional C++

這兩本書中都包含了40個C++程式設計問題,這些問題會讓你磨練自己的技能,最終成為優秀的C++程式設計師。這些問題是Herb Sutter精心挑選,與ISO/ANSI C++官方標準相一致,幫助程式設計師在設計、架構和編碼過程中保持良好的風格,從而使編寫的C++軟體更健壯、更高效。

 

【更新】:根據微博網友反饋,已經原來“階段3”的兩本書放到“階段5”,故而總階段數減到4個。

@左耳朵耗子: 挺可靠的。另,我認為,階段3的書應該放在階段5。//@非魔: @左耳朵耗子 這個清單科學嗎? //@程式設計師的那些事: C++程式設計師的閱讀清單

 

階段 3

The C++ standard library(C++標準程式庫)》

這是標準模板庫字典,你可以在本書中找到STL相關的一切知識。本書焦點放在標準模板庫、檢查容器、迭代器、函式物件和STL演算法上。每一個元素都有深刻的呈現,包括其介紹、設計、運用例項、細節解說、陷阱、意想不到的危險,以及相關類別和函式等。

The C++ standard library C++標準程式庫

 

Effective STL

這是Scott Meyers的第三本C++專著,也是學習STL最權威的書籍。作者對書中的50個指導方針都作了詳盡的分析,並配以示例。通過這些規則,C++開發者可以最大限度地使用STL。

《Generic programming and the STL(泛型程式設計與STL)》

本書闡述了泛型程式設計的核心理念:concepts(概念)、modeling(模型)和refinement(改善),併為你展示這些觀念如何匯出STL的基礎概念:iterators(迭代器)、containers(容器)和function objects(函式物件)。按照本書所述,你可以把STL想象成一個由concepts組成的library,你將學習到STL正式結構並理解其強大的優勢。

 

階段 4

Inside the C++ object model(深度探索C++物件模型)》

本書專注於C++物件導向程式設計的底層機制,包括結構式語意、臨時性物件的生成、封裝、繼承,以及虛擬——虛擬函式和虛擬繼承,幫助你理解程式的底層實現,以便寫出更高效的程式碼。

The design and evolution of C++(C++語言的設計與演化)》

本書作者也是C++語言的設計者Bjarne Stroustrup,作者在書中綜合性地介紹了C++的發展歷史,C++中各種重要機制的本質意義和設計背景,這些機制的基本用途和使用方法,討論了C++所適合的應用領域及其未來的發展前景,既沒有忽略關鍵性的詳情,又沒有過多地陷入技術細節。

The design and evolution of C++

 

Exceptional C++ style

作者為Herb Sutter。本書同樣提出了40個C++風格相關的問題,對一些至關重要的C++細節和相互關係提出了新的見解,為當今的關鍵C++程式設計技術(如泛型程式設計、STL、異常安全等)提供了新的策略,幫助開發者在開銷與功能之間、優雅與可維護性之間、靈活性與過分靈活之間尋找完美的平衡點。

C++ template

這是一本關於C++模板的完整的參考手冊和教程,它強調模板的使用實踐,包含了現實世界中的例子。每個C++程式設計師都應該好好讀一讀這本書。

《Modern C++ design(現代C++設計)》

作者Andrei Alexandrescu為C++程式設計師開啟了一個新的局面。本書提供了一些針對軟體設計的前沿方法,如聯合設計模式、泛型程式設計,使程式設計師可以編寫有表現力的、靈活的、高度可重用的程式碼。

Thinking in C++(C++程式設計思想)》

C++ 領域權威著作,介紹了C++實用的程式設計技術和最佳的實踐方法。

相關文章