关于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. 2014 I/O归来:Google连接一切

    6月,WWDC 2014与Google I/O  (大部分演讲视频都公开.Youtube须要FQ,很值得一看)相继召开.今年是我第三年參加Google I/O大会. 三年间.Google积累了非常多技 ...

  2. C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用

    原文  C#中System.Globalization.DateTimeFormatInfo.InvariantInfo怎么用 在开发的时候,碰到下面这样一个问题: 在程序中显示当前系统时间,但是有一 ...

  3. Maven 实现Struts2注解配置步骤详解

    1,pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  4. 基于JVM规范的并发编程解决方案

    在并发的世界里,选择合适的状态处理方法将对并发性和正确性起到决定性的影响.这方面可选的方法有:共享可变性.隔离可变性以及完全不可变性. 对于并发问题来说最好的解决方法是从根本上消灭它而不是花很多时间解 ...

  5. js之checkbox的代码全选/全不选,使用id获取元素,而不是name

    每当有多个选项的时候,都会有一种想法是:全选,全不选,如果子选项有被选,父选项也得被选. 注意:这里是根据id来获取元素的,但是不能直接用getElementById,因为那只能返回一个,而不是集合. ...

  6. cocos2d-x关于CCTableView的“乱序问题”的理解

    Cocos2d-x有一个不错的控件CCTableView.之前用的时候发现有cell的顺序错乱和重复出现的问题.后来仔细看了一下源码,发现是自己用法错误.但是网上有人说是一个bug,要改源码.我发现2 ...

  7. Oracle SQL语句执行过程

    前言 QQ群讨论的时候有人遇到这样的问题:where子句中无法访问Oracle自定义的字段别名.这篇 博客就是就这一问题做一个探讨,并发散下思维,谈谈SQL语句的执行顺序问题. 问题呈现 直接给出SQ ...

  8. Webcast / 技术小视频制作方法——自己动手录制video轻松搞定

    Webcast / 技术小视频制作方法——自己动手录制video轻松搞定 http://blog.sina.com.cn/s/blog_67d387490100wdnh.html 最近申请加入MSP的 ...

  9. CImage类

    CImage封装了DIB(设备无关位图)的功能,因而可以让我们能够处理每个位图像素.这里介绍GDI+和CImage的一般使用方法和技巧. TAG: GDI  CImage  后处理   我们知道,Vi ...

  10. VC/MFC 工具栏上动态添加组合框等控件的方法

    引言 工具条作为大多数标准的Windows应用程序的一个重要组成部分,使其成为促进人机界面友好的一个重要工具.通过工具条极大方便了用户对程序的操作,但是在由Microsoft Visual C++开发 ...