C++经典书籍推荐

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

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++程序的设计质量很有好处。不过也需要注意不要陷入到处都使用设计模式的误区,关键是要知道自己的各种可能选择,了解各种选择背后的优缺点,并选择出最合适的。这些设计模式也只是一种很多设计的方法中的一部分而已。

注:转自张奕的博客http://blog.csdn.net/atfield

 

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
What’s this book all about? Well, it’s about how to develop software from a personal perspective. We’ll look at what it means for you to take a problem and produce a program to solve it from beginning to end. That said, this book focuses a lot on design. How do you design software? What things do you take into account? What makes a good design? What methods and processes are there to help you design software? Is designing small programs different from designing large ones? How can you tell a good design from a bad one? What general patterns can you use to help make your design more readable and understandable? It’s also about code construction. How do you write programs and make them work? “What?” you say. “I’ve already written eight gazillion programs! Of course I know how to write code!” Well, in this book, we’ll explore what you already do and investigate ways to improve on that. We’ll spend some time on coding standards, debugging, unit testing, modularity, and characteristics of good programs. We’ll also talk about reading code, what makes a program readable, and how to review code that others have written with an eye to making it better. Can good, readable code replace documentation? How much documentation do you really need? And it’s about software engineering, which is usually defined as “the application of engineering principles to the development of software.” What are engineering principles? Well, first, all engineering efforts follow a defined process. So we’ll be spending a bit of time talking about how you run a software development project and what phases there are to a project. We’ll talk a lot about agile methodologies, how they apply to small development teams and how their project management techniques work for small- to medium-sized projects. All engineering work has a basis in the application of science and mathematics to real-world problems. So does software development. As I’ve said already, we’ll be spending a lot of time examining how to des
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值