一份历久弥新的C++书单
微信公众号:科文路。转载须注明出处。
你多半会收藏,但收藏了记得看!
这个回答非常棒,其也是我学习的参照。下文几乎来自原文,但内容描述有我个人的见解。
This question attempts to collect the few pearls among the dozens of bad C++ books that are published every year.
面向零基础
| 书名 | 作者 | 内容描述 |
|---|---|---|
| C++ Primer (updated for C++11) | Stanley Lippman, Josée Lajoie, and Barbara E. Moo | 注意不是 C++ Primer Plus。 有中文版。最新版已经按照 C++11 编写,行文流畅,非常值得小白系统性的学习 C++ 编程。比下文中的 The C++ Programming Language (TC++PL)更适合用来入门。学完了找个 C++ 中级左右的岗位应该是没问题。 |
| Programming: Principles and Practice Using C++ (updated for C++11/C++14) | Bjarne Stroustrup | C++之父的这本书也有中文版,相较于 TC++PL 更便于初学者。但我建议看上面那本。 |
面向有编程经验的程序员
| 书名 | 作者 | 内容描述 |
|---|---|---|
| A Tour of C++ (C++17) | Bjarne Stroustrup | 简要版 TC++PL |
| Accelerated C++ | Andrew Koenig and Barbara Moo | 2000 年老书随便看看吧。 |
C++实战经验
| 书名 | 作者 | 内容描述 |
|---|---|---|
| Effective C++ | Scott Meyers | 05年老书。一些 C++ 必备基础知识和技巧。这本刚好,后续的 More Effective C++ 就显得有点云山雾绕了。 |
| Effective Modern C++ | Scott Meyers | 这本来的很及时,C++11 及以上必读书目。 |
| Effective STL | Scott Meyers | 老书了。我买的英文版。讲了使用 STL 的方式方法,可能有些内容过时了,但不读怎么知道哪些东西过时了呢?必读。 |
进阶之路
只读过部分。云山雾绕。
| 书名 | 作者 | 内容描述 |
|---|---|---|
| More Effective C++ | Scott Meyers | 前作续集,更高深(不实用)了。 |
| Exceptional C++ | Herb Sutter | 副标题:47个C++工程难题、编程问题和解决方案 |
| More Exceptional C++ | Herb Sutter | 前作续集。 |
| Exceptional C++ Style | Herb Sutter | 副标题:40个新的工程难题、编程问题及解决方案 |
| C++ Coding Standards | Herb Sutter and Andrei Alexandrescu | 副标题:101条规则、准则与和最佳实践 |
| C++ Templates: The Complete Guide | David Vandevoorde and Nicolai M. Josuttis | 模板元编程应知应会必读书目。 |
| C++ 17 - The Complete Guide | Nicolai M. Josuttis | 内容如题。 |
| C++ in Action | Bartosz Milewski | 内容同如题。 |
| Functional Programming in C++ (C++11 and later) | Ivan Čukić | 内容如题。 |
高阶
希望早日读到这,能读几本
| 书名 | 作者 | 内容描述 |
|---|---|---|
| Modern C++ Design | Andrei Alexandrescu | 副标题:泛型编程与设计模式之应用 |
| C++ Template Metaprogramming | David Abrahams and Aleksey Gurtovoy | 泛型编程学习应知应会书目。 |
| C++ Concurrency In Action | Anthony Williams | 有中文版,知乎上评价翻译的不好。后端应知应会书目。 |
| Advanced C++ Metaprogramming | Davide Di Gennaro | 偏向于 TMP 实战。 |
| Large Scale C++ volume I, Process and architecture | John Lakos | 如何构建大型 C++ 软件 |
参考书
建议购置。至少比翻烂了 CSDN、知乎要权威。
| 书名 | 作者 | 内容描述 |
|---|---|---|
| The C++ Programming Language (updated for C++11) | Bjarne Stroustrup | C++之父扛鼎之作,C++程序员人手一部。涵盖了方方面面以及老爷子的程序设计哲学。 |
| C++ Standard Library Tutorial and Reference (updated for C++11) | Nicolai Josuttis | 标准库参考手册。 |
| The C++ IO Streams and Locales | Angelika Langer and Klaus Kreft | 详解 the iostreams and locales classes。 |
我觉得一个 C++ 程序员越早看完这些书,越早当其他程序员的领导=。=
一份历久弥新的C++书单