C++学习推荐书籍

时间:2022-04-18 19:57:05

以前有不少朋友问关于学习各种技术的推荐书籍的问题,这里把我觉得比较好的一些书籍列一下,希望能起到抛砖引玉的作用就好了:)

C++

C++ PrimerThinking in C++The Standard C++ LibraryThe C++ Programming Language:这几本书就不多介绍了,很有名的书,我就不罗嗦了

Effective C++More Effective C++, by Scott Meyers:这两本书也是很有名的。以实例讲解C++的一些非常实际的问题,给出了一些在通常情况下应该遵守的Guideline。实际上这两本书的精彩之处不是在于这些Guideline,而是作者对实际问题做出自己的分析,探讨各种可能的解决方案规则背后的原因做出的深入解释。

STL源码解析 by 侯捷这本书主要是分析STL背后的实现原理,而并非讲解STL的用法。本书对STL实现的种种常用技巧做了分析,是学习模版实际用法很好的例子。同时,本书也涉及到不少STL内部函数的实现,包括具体算法和内存分配的一些技巧,值得一看。

C++ Templates by David Vandevoorde讲解C++模版的各种相关语法和一些实际的用法,覆盖面非常广。

Large Scale C++ Software Design by John Lakos主要讲解在实际大型C++程序开发中才会遇到的需要考虑的问题,如物理设计和逻辑设计的关系,层次设计等大型C++程序设计才会涉及到的一些问题

The design & evolution of C++ by Bjarne Stroupstrup C++发明者所著。并非讲解实际语法,而是讲解C++语法背后的原因以及C++发展演变的历史。读过此书会让你对C++为什么是现在这个样子有一个深刻的认识。

Modern C++ design by Andrei Alexandrescu:讲解C++模版的各种高级用法,如Type List等,比较折磨编译器,著名的loki库就是从这个书中来的。本书对于C++模版的运用可以说是出神入化,是理解Boost等模版库的基础。但是在实际项目,特别是大项目中是否应该使用此种模板技术还有广泛的争议。

Inside C++ Object Model:讲解C++的内部实现原理,比如虚函数,构造函数,模版等,Name Mangling等,看完这本书之后你会觉得C++不再神秘,所有的东西可以说都在你的掌握之中。强烈推荐!

Design Patterns:这本虽然不是讲C++,但是对提高C++的功力很有用处。写C++代码不能只能只注重C++的语法和技巧,也需要设计好整个程序的架构。此书中讲到了大量可以重用的设计模式,对于提高C++程序的设计质量很有好处。不过也需要注意不要陷入到处都使用设计模式的误区,关键是要知道自己的各种可能选择,了解各种选择背后的优缺点,并选择出最合适的。这些设计模式也只是一种很多设计的方法中的一部分而已。