c++ 書籍(zz)



From:http://blog.csdn.net/is2120/article/details/44317241java

下面是轉載的在博客上看到的一個C++書籍閱讀清單,能夠參考下:
階段 1
《Essential C++》

這是一本內容很少但很實用的C++入門書籍,強調快速上手與理解C++編程。本書主要圍繞一系列逐漸複雜的程序問題,以及用以解決這些問題的語言特性展開講解。你不僅學到C++的函數和結構,也會學習到它們的設計目的和基本原理。
《C++ Primer》
本書對C++基本概念、技術、以及現代C++編程風格進行了全面並且權威的闡述,是C++初學者的最佳指南;本書能夠幫助你編寫實用的程序,而無需首先精通每一個語言細節。對於中高級程序員,本書也是不可或缺的參考書。
階段 2
《Effective C++》和《More effective C++》

做者是Scott Meyers。你應該熟讀它們,並清楚地理解每一個項目。該書圍繞55條準則,每一條都介紹了一個可以讓你寫出更好的C++程序代碼的方法,並以特別設計過的例子詳加討論。
《Exceptional C++(C++編程剖析)》和《More exceptional C++》
這兩本書中都包含了40個C++編程問題,這些問題會讓你磨練本身的技能,最終成爲優秀的C++程序員。這些問題是Herb Sutter精心挑選,與ISO/ANSI C++官方標準相一致,幫助程序員在設計、架構和編碼過程當中保持良好的風格,從而使編寫的C++軟件更健壯、更高效。
階段 3
《Inside the C++ object model(深度探索C++對象模型)》

本書專一於C++面向對象程序設計的底層機制,包括結構式語意、臨時性對象的生成、封裝、繼承,以及虛擬——虛擬函數和虛擬繼承,幫助你理解程序的底層實現,以便寫出更高效的代碼。
《The design and evolution of C++(C++語言的設計與演化)》
本書做者也是C++語言的設計者Bjarne Stroustrup,做者在書中綜合性地介紹了C++的發展歷史,C++中各類重要機制的本質意義和設計背景,這些機制的基本用途和使用方法,討論了C++所適合的應用領域及其將來的發展前景,既沒有忽略關鍵性的詳情,又沒有過多地陷入技術細節。
階段 4
《The C++ standard library(C++標準程序庫)》

這是標準模板庫字典,你能夠在本書中找到STL相關的一切知識。本書焦點放在標準模板庫、檢查容器、迭代器、函數對象和STL算法上。每個元素都有深入的呈現,包括其介紹、設計、運用實例、細節解說、陷阱、意想不到的危險,以及相關類別和函數等。
《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正式結構並理解其強大的優點。
階段 5
《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++實用的編程技術和最佳的實踐方法。

程序員

[譯]C++書籍終極推薦

JerryZhang 03/04/2012算法

聲明:編程

英文水平有限,加上在 stackoverflow 混的人,母語都帶必定的地方色彩,向咱們的 chinenglish。若是你以爲有誤,歡迎留言指正。設計模式

All levels

1.《C++程序設計語言》(Bjarne Stroustrup) [The C++ Programming Language]安全

評:經典的C++入門教材。能夠和 K&R 的那本相媲美,讀起來感受很是相似,它涵蓋了全部 標準 C++ 語言的核心,面面俱到。這本書我沒有讀過,不作評價。「K&R」 的那本書指的是《C程序設計語言》,堪稱經典, 這本書我有。讀完以後,感受挺全面的,並且深深地能夠感受到一絲 unix 氣息。數據結構

2.C++標準程序庫:自修教程與參考手冊 (Nicolai josuttis) [C++ Standard Library Tutorial and Reference]架構

評:C++ 標準庫的介紹和參考手冊app

我的以爲這本書是每一個 C++ 程序員的必備書籍,書如其名,就是一本手冊。整本書都在講述 C++ 庫函數。若是你想學習 C++ STL 的話,選擇這本書先熟悉一下 STL 是一個很不錯的選擇。我看過 3 遍,每一遍都會有新的收穫。electron

3.The C++ IO Streams and Locales(Angelika Langer and Klaus Kreft)

評:除了 C++ IOstream 和 locales 以外,幾乎沒有其餘的涉及。若是你想知道關於 stream 和 locale ,這本書是你最好的選擇。

之前沒聽過這本書,我不多用 C++ IO 。習慣了 C 語言的格式化操做,總感受 C++ 這塊作的很差。

4.The C++ Standard(INCITS/ISO/IEC 14882-2011)

評:This, of course, is the final arbiter of all that is or isn't C++. Be aware, however, that it is intended purely as a reference for experienced users willing to devote considerable time and effort to its understanding. As usual, the first release was quite expensive ($300+ US), but it has now been released in electronic form for $30US -- probably the least expensive of the reference books listed here.(我的沒有能力翻譯這段話,抱歉.)

Beginer

Introductory

若是你剛開始學習程序設計或者你有其餘語言的使用經歷,下面這些書籍高度推薦:

1.C++ primer (Stanley Lippman, Josée Lajoie, and Barbara E. Moo)

評:1000 頁左右的厚度,很是周全的的 C++ 介紹,涵蓋了語言的方方面面,講解很是詳細。

我是在看完《C++入門經典》以後看的《C++ primer》,而且以前學過 C 語言和數據結構。以爲仍是有必定難度的,後面的面向對象和泛型幾乎沒怎麼看懂。做爲新手,這本書真的適合嗎?我質疑。不過這本書的好是不能否認的,值得多看幾遍。[針對第四版而言]

2.Accelerated C++(Andrew Koenig and Barbara Moo)

評: This basically covers the same ground as the C++ Primer, but does so on a fourth of its space. This is largely because it does not attempt to be an introduction to programming, but an introduction to C++ for people who've previously programmed in some other language. It has a steeper learning curve, but, for those who can cope with this, it is a very compact introduction into the language. (Historically, it broke new ground by being the first beginner's book using a modern approach at teaching the language.)

3.C++ 編程思想 (Bruce Eckel) [Thinking in C++]

評:一共兩卷,第二卷大部分在講解標準庫,可是仍舊很是好。

4.C++程序設計原理與實踐 (Bjarne Stroustrup)[Programming: Principles and Practice Using C++]

評:很是好,不僅是適合初學者的一本書。

沒讀過,可是很想讀。

Best practices

1.Effective C++

評:每一個C++程序員都應該讀的書。早期版本針對從 C 轉到 C++ 的程序員。第三版作了修改,程序定位在向 java 這樣的語言轉變過來的 C++ 程序員。改善程序與設計的55個具體作法。 提高 C++ 功力必備書籍,真的很棒。

2.Effective STL

有這本書,可是沒有讀完,不作評價。

Intermediate

1.More Effective C++ (Scott Meyers)

評:比 Effective C++ 更多的規則,沒有 Effective C++ 那麼重要,可是仍舊很應該知道。

我有這本書,感受裏面的內容比 Effective C++ 要更細節和深刻,有一部分沒有看懂。聽不錯的書。

2.Exceptional C++(Herb Sutter)

評:資源管理和在 RAII 中的異常安全。pimple idiom, name lookup, good class disign, 和 C++ 內存模型。

看評價就很想讀了,等發工資了,果斷買。

3.More Effective C++ (Herb sutter)

評:Effective C++ 的補充,包括異常安全的主題。除此以外,探討了高效 C++ 面向對象編程和 STL 的錯誤使用。

4.Exceptional C++ style(Herb Sutter)

評:討論泛型編程編程,優化和資源管理。還優秀的展示了怎麼用 C++ 非成員函數和單一職責原則(single reponsibility principle)寫模塊化代碼。

5.C++編碼規範(Herb Sutter and Andrei Alexandrescu) [C++coding Standards]

評:編碼規範並不意味着「在代碼中縮進使用幾個空格的問題」。這本書包含 101 個好的實踐,風格(idioms),和常見的陷阱能夠幫助你去寫正確的,易於理解的而且高效的 C++ 代碼

6.C++模板:徹底指南 (David Vandevoorde and Nicolai M. Josuttis) [C++ Template: The Complete Guide]

評:這是一本關於 C++ 模板的書籍。他涵蓋了從最基礎的到高級的模板元編程,很是詳細的解釋了模板的工做機理。對 ODR(One Defnition Rule)和重載的解析過程。

這本書我是在大二的寒假看的,當時剛學完 C++ 語言。多是基礎不夠的緣由吧,只看了全書的 1/3 ,即模板的基礎部分,以後就沒怎麼看了。儘管如此,那 1/3 的基礎部分爲我在以後的 STL 學習打好了基礎,獲益匪淺。想要學好 STL 的同窗,必定要先去學模板,不然就至關於在被庫函數。

Above Intermediate

1.Modern C++ Design (Andrei Alexandrescu)

評:這本書是高級泛型編程技巧開創性的書籍,引入了基於策略的設計,類型列表,和基本的泛型編程風格。解釋了有多少有用的設計模式(包括小對象配置器,仿函數,工廠,訪問者,和多方法)可使用泛型編程高效,模塊化和乾淨的的實現。

A groundbreaking book on advanced generic programming techniques. Introduces policy-based design, type lists, and fundamental generic programming idioms then explains how many useful design patterns (including small object allocators, functors, factories, visitors, and multimethods) can be implemented efficiently, modularly, and cleanly using generic programming.

看內容就好像讀啊!

2.C++模板元編程 (David Abrahams and Aleksey Gurtovoy) [C++ Template Metaprogramming]

Classics/Older

標註:這些書中包括的一些信息可能再也不適合如今或者再也不是最好的實踐方案。

1.C++語言的設計和演化 (Bjarne Stroustrup) [The Design and Evoution of C++]

評:若是你想知道爲何C++語言成爲如今這個樣子,這本書會告訴你答案。這本書涵蓋了 C++ 標準化以前的全部故事。

2.C++沉思錄(Andrew Koenig and Barbara Moo) [Ruminations on C++]

3.Advanced C++ Programming Styles and Idioms (James Coplien)

評:A predecessor of the pattern movement, it describes many C++-specific "idioms". It's certainly a very good book and still worth a read if you can spare the time, but quite old and not up-to-date with current C++.

4.大規模C++軟件設計 (John Lakos) [Large Scale C++ Software Design]

評:Lakos explains techniques to manage very big C++ software projects. Certainly a good read, if it only was up to date. It was written long before C++98, and misses on many features (e.g. namespaces) important for large scale projects. If you need to work in a big C++ software project, you might want to read it, although you need to take more than a grain of salt with it. There's been the rumor that Lakos is writing an up-to-date edition of the book for years.

5.深度探索C++對象模型 (Stanley Lippman) [Inside the C++ Object Model]

評:若是你想知道虛函數表機制是怎樣實現的和在一個多繼承狀況下,基對象是怎麼在內存佈局,這些怎麼對性能形成影響。你能夠找到這些主題的深刻探討。

正在看這本書,不是很好理解。若是你沒有必定的基礎的話,我建議先別看了,越看越亂。看完以後,才知道之前的不少理解都是有誤的。這本書翻譯的不太行啊,有能力的話仍是看英文版吧!

ps: 我給你本身定的目標的每週一篇質量博文,可是就我如今的水平來講,每週一篇質量博文,有些難度。全部沒有好的題材的話,之後就從 stackoverflow 找一些不錯帖子來翻譯吧。

相關文章
相關標籤/搜索