关于C++的书太多了,很容易让人没有头绪。一直想整理下,把这些书列个书单出来,直到今天才动手。希望我的经验能给后来的初学者一点帮助。

1.《C++程序设计教程》 钱能

很多学校把这本书选做C++课程的教材。简单易懂,例子也很简单明了,该有的部分基本都有了。个人觉的这本书很适合入门,不知道为什么有不少人对这本书评价不是太高。但是个人意见,初学者可以从这本书入手,比《C++ primer》相对好入门点。这本书我一直带在身边,但是看的次数越来越少了,入门时候看的很多。

2.《C++ primer》

这本书的经典就不必说了。个人认为这本书兼顾了俩个方面,入门和工具书。入门读这本书,障碍也不会太大,只是书太厚,要有耐心读完。工具书,是觉的这本书可以一直放在案头,时不时的查点东西,翻点东西,很方便。个人感觉,这本书还是要翻好多遍才能烂熟于心,在次之前,这本书一直有存在手边的价值。
我本人一直把这本书带在身边,不过好在买的是正版,要不早就让我翻烂了。盗版的质量很差,很容易翻烂。

3.《The C++ Programming Language》

这本书也是C++最经典的书之一。作为学习C++的工具书来说,很好,和《C++ primer》不相上下,内容很全很权威。但是据说要比《C++ primer》更深入点,不是特别适合初学者。因为我初学的不是这本书,所以不太好评价。但是作为工具书还是相当的不错。这本书和《C++ primer》至少要有一本放在手边,遇到问题及时查阅,让人受益匪浅。尤其是当这工具书越翻越烂,而你自己的C++越来越强的时候,这本书就变成了个纪念,这种感觉不是电子书可以带来的。

4.《Effective C++》

这本书不是C++入门类书籍,也不是工具书类型,属于进阶型书籍。让你更好更高效的使用C++。这本书以原则的方式介绍了几十个原则,这些原则可以让你把C++用的更好,对C++有更深入的理解。个人强烈推荐这本书,相当值得一读。

5.《More Effective C++》

这本书可以算是《Effective C++》的续集。延续了《Effective C++》的风格,对于进阶的C++学习者来说,也是一本很不错的书。同样是以原则的方式让你更好,更高效更安全的使用C++。

6. 《数据结构》 严蔚敏

数据结构方面,只推荐这一本书,而且是C语言版的。这本书的经典就不解释了,这本书读好了之后,就不用读其他的数据结构的书了。

7. 《高质量C/C++编程指南》 林锐

这本书同样不适合初学入门者,适合进阶者。而且尤其是推荐一直在学校写程序的人工作之前好好读一读,这本书介绍了很多在实际的开发工作中需要注意的东西,很适合入职培训使用。规范大家的行为,提高大家的代码质量。另外这本书的很多题目经常被很多公司作为入职笔试题目,有准备笔试的同学也可以认真学习一下。

8. 《Head first: design patterns》

在C++进阶之后,设计模式是不可避免的要学习的内容。其中这本书可以很好的作为设计模式的初学者的入门书籍,有图画有代码,看起来还不那么费劲。建议直接读英文版,没那么难。

9.《Design Patterns: Elements of Reusable Object-Oriented Software》 四人帮

这本是设计模式的开山之作,也是奠定设计模式现状的经典书目。值得读是肯定的,但是建议不要作为入门书籍,虽然权威,但是不是特别适合初学者一上来就读。初学者读起来有点费劲,读完了可能也忘完了。

还有一部分书没介绍,就是和平台相关的内容。如果在windows下,那么《windows程序设计》以及MSDN是必不可少的资料。如果是Linux,则《UNIX环境高级编程》英文名字叫《Advanced Programming in the UNIX Environment》是必不可少的学习资料。

基本上读过的C++的书就这么多了,还有些读完了就忘记了,这里就不提了。在这里列出来的书,大部分都是读了很多遍。也有一些好的书,一直打算读,一直还没读。回头整理一个打算读的书单列出来。


[置顶] C++学习书单的更多相关文章

  1. 吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料-人工智能学习书单

    吐血整理:人工智能PDF中文教材资源包2.73G基本包含全部学习资料 人工智能学习书单(关注微信公众号:aibbtcom获取更多资源) 文末附百度网盘下载地址 人工神经网络与盲信号处理 人工神经网络与 ...

  2. MySQL数据库学习书单/书籍

    MySQL数据库学习书单 1.MySQL必知必会(MySQL Crash Course) 豆瓣详情 主要适合前期掌握MySQL,豆瓣评分8.4. 2.高性能MySQL 豆瓣详情 ​ 主要适合进阶阅读使 ...

  3. ANDROID学习书单

    Skip to content PersonalOpen sourceBusinessExplore Sign upSign in PricingBlogSupport   This reposito ...

  4. java学习书单

    1   程序员必读书单 1.0  https://blog.csdn.net/onlylove_longshao/article/details/52337865 2   程序员读书雷达     ht ...

  5. C#学习书单

    [入门] (1)<C#入门经典> (2)<牛腩新闻发布系统> [深入] (1)<CLR via C#(第4版)> (2)<深入理解C#(第3版)> [C ...

  6. Html与CSS学习书单

    1.Head First HTML与CSS(第二版) 豆瓣详情 这本书非常适合入门学习HTML与CSS它的内容不一定详实,但一定是你入门的首选.作为一本引进 图书翻译尚可.目前豆瓣评分9.3.

  7. [置顶] 从零开始学C++之STL(二):实现简单容器模板类Vec(vector capacity 增长问题、allocator 内存分配器)

    首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下:  C++ Code  1 2   template <  class _Ty,  ...

  8. Ionic-wechat项目边开发边学(四):可伸缩输入框,下拉刷新, 置顶删除

    摘要 上一篇文章主要介绍了ion-list的使用, ion-popup的使用, 通过sass自定义样式, localStorage的使用, 自定义指令和服务. 这篇文章实现的功能有消息的置顶与删除, ...

  9. 【搬运工】NOIP吧置顶贴

    目的是存置顶贴里的链接.. 原帖:http://tieba.baidu.com/p/1753284199 资源站:*C++资源:http://tieba.baidu.com/p/1239792581* ...

随机推荐

  1. OnClientClick和OnClick

    OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行 OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端 ...

  2. sql:oracle, CURSOR

    CursorsYou use a cursor to fetch rows returned by a query. You retrieve the rows into the cursor usi ...

  3. chrome你这是入侵OSX了么?

    今天突然发现安装chrome的应用后,会在Dock中出现如下图标,点击即可启动chrome相关应用,很是方便.

  4. BaseActivity--上门啦

    package com.fwpt.activity; import com.fwpt.entity.RyUserInfo; import com.fwpt.entity.SmlaUserinfo; i ...

  5. Linear Regression(线性回归)(二)—正规方程(normal equations)

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 在上篇博客中,我们提出了线性回归的概念,给出了一种使代价函数最小的 ...

  6. EasyUI - Tabs

    代码: 判断是不是已经存在,如果存在,则直接选中,否则创建新的tab. $('#tabs').tabs({ fit: true, border: false }) $('#Tree').tree({ ...

  7. C++基础学习笔记----第七课(面向对象的基本概念)

    主要讲面向对象的基本概念和一些概念,以及实现简单的面向对象C++程序. 类和对象 基本概念 类和对象是面向对象中的两个基本概念,类是指一类事物,是一个抽象的概念.对象是指某一个类的实体,是一个具体存在 ...

  8. python 网络爬虫(二) BFS不断抓URL并放到文件中

    上一篇的python 网络爬虫(一) 简单demo 还不能叫爬虫,只能说基础吧,因为它没有自动化抓链接的功能. 本篇追加如下功能: [1]广度优先搜索不断抓URL,直到队列为空 [2]把所有的URL写 ...

  9. Matlab的parfor并行编程

    Matlab的parfor并行编程 通常消耗最多计算资源的程序往往是循环. 把循环并行化.或者优化循环体中的代码是最经常使用的加快程序执行速度的思路. Matlab提供了parforkeyword,能 ...

  10. NYOJ 623 A*B ProblemII

    A*B Problem II 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描写叙述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了.由于每次做到矩阵相乘的时候,大 ...