算起来,用C++已经有七八年时间,也有点可以分享的东西;
以下推荐的书籍大多有电子版。对于技术类书籍,电子版并不会带来一个好的阅读体验。如果喜欢,最好找纸版(图书馆是个好去处);电子版更适合作为一个参考书籍常备电脑。
我将分为基础篇、Windows篇、和Linux/Unix篇 三个部分来介绍这些经典书籍:
C++入门:
《C++ Primer》
我的C++入门读物是《C++大学教程》,这本书800多页,由于学习时间长,一个学期学这么一本书,时间上的富裕,让我有充分的时间来吸收。书中80%的代码我都敲到PC上运行过;后来再看《C++ primer》的时候,也就一个星期的功夫翻完了。都是入门读物,介绍的也都全面。刚接触C++的朋友,至少应该将这方面的书好好过一遍。
语言技巧,性能优化:
《Effective C++》
《C++必知必会》
《More Effective C++》
有了语言基础之后,接着就是细节上的深入,进一步领会C++的精髓。《Effective C++》可以看作是一本C++ 疑难解惑手册; 对于C++语言层次深入一点的东西,容易出错的知识点,在这边书上可找到满意解答;适合多次品味。
《C++必知必会》《More Effective C++ 》则作为对Effective C++ 没有讲完的补充,可看作前者看完后意犹未尽时使用;
顺便说下,这三本书都不厚,小册子,每本也就几天的功夫就可以搞定;
底层硬货:
《C专家编程》
《C和指针》
C++源于C,对于指针、对于各种地址的偏移计算,对于大端小端的深刻剖析,还得靠一些硬通货来解析;这两本书虽说不厚,但读起来确实费劲,信息量很足,很多都是在平时C++使用中没有意识到的知识点,却又都是重要的点。让人有知其所以然的快感;
涉及到底层的东西,都是用来验证编程功底是否扎实。要想彻底掌握C++底层的东西,还是得看看专家编程,很好的两本书,指针等讲的很透彻。
STL:
《C++标准程序库》
《泛型编程与STL》
《STL源码剖析》
《C++标准程序库》是属于百科全书类型,讲解基础,但语言平淡(是以参考手册的角度来写的),没有勇气将其全部翻完,捡感兴趣的和自己很缺乏的部分看了看(里面关于智能指针方面的论述,还不错);
《泛型编程与STL》里面对萃取机制及各泛型的概念论述非常透彻,前6章为主要篇章,不可跳过。后面的可在实践中编码练习或查找。 后面章节可在看完之后做为手册使用,对STL中的常用算法和容器进行了归类讲解,并给出了相当数量的示例。
《STL源码剖析》每一个推荐深入STL的文章应该都少不了这本书。下面几个问题可以考查一下是否需要看看: 1.STL中DQueue的实现机制(数据结构式如何组织的,其迭代器的插入和删除过程中的实现) 2.是否熟悉红黑树,能否叙述其插入和删除过程,如何调整。 3.萃取器的几种实现。
Boost
《超越c标准库——boost程序库导论》
当标准库无法再满足你的时候,就轮到Boost出场了。编程,讲究两个效率,一是开发效率,二是运行效率。与其它编译型语言相比(java、C#等),C++属于后者,运行效率不错,但开发效率着实低。除了C++更底层的原因外,另一方面的原因就是标准库提供的功能不足。没有太多的工具,想实现什么都得自己来一遍,重复的造轮子的工作在程序员中不断上演;
Boost库是对C++标准库的扩展,让我们在开发的过程中有更多的工具可以选择。正则表达式、智能指针等工具都是非常有用的工具,而函数对象,Lambda则让我们在编写C++的代码中更为优雅;
这里提供的一本书是Boost的入门经典。它的目的就是让你对boost产生兴趣。等有了兴趣之后,就直接上boost的官网吧,需要什么尽管拿。
设计模式:
《设计模式》
《设计模式精解》
《道法自然》
《设计模式》是该领域的圣经,未全看完。虽说经典,但一页一页的翻完,还真要点耐性。不像老外写书的风格,这本书看的很累(这也是一本参考手册)。我认为在对大部分模式都有一定的了解后再来看这本书,会找到很多兴趣点。
《设计模式精解》我的设计模式之路是从这本书入门的,通过几个实例来解释模式的用法,以及为什么要用模式(这个可能更重要),不过全书也就讲了10来个模式,意犹未尽。对设计模式感兴趣、初学者推荐;
《道法自然》是国人写的很不错的一本书,用他们自己写的一个框架系统作为实例,贯穿全文,讲解各种模式的用法。看过后,体会到模式在大项目,特别是这种框架系统中的应用真是太到位了。同时,熟悉MFC的朋友会在本书中收获更多的东西,MFC也是一个框架系统,通过本书的讲解,可以体会到MFC的内部设计以及为何如此设计(书中就专门讲到MFC中的设计思想),同时,在讲单件模式的时候,还带出了MFC中theApp的作用(为什么要在MFC中安排一个theApp全局变量?这是我看到的唯一一本书解释了这个问题的);
算法篇
《编程珠玑》
讲解数据结构和算法技巧的压轴好书。
基础篇就谈这些,后续将讨论C++的应用,Windows篇和Linux/Unix篇;
Posted by: 大CC | DEC26,2012
博客:blog.me115.com [订阅]
微博:新浪微博
分享到:
相关推荐
学习c++的书籍的汇集,很好的从入门到精通的综合。
C++新手学习的开启之旅,按照文档中的顺序学习,你可以在很快的时间内成为一个合格的C++程序开发者,才能真正的开始进入这个领域,不管在游戏还是其他领域都会游刃有余
本篇文章主要讲述了如何学习 C++ programming language,并推荐了一些相关的书籍。作者强调,学习 C++ 需要阅读大量的书籍,并且需要了解语言的历史和设计理念。 首先,作者推荐阅读 Bjarne Stroustrup 的 The ...
c++基础教程,适合初学者入门的一本好书。作者谭浩强,是一个编程重视基础的老师,强力推荐
### C++ 学习路线与推荐书籍 C++ 是一种广泛应用的编程语言,在软件开发、游戏制作、系统编程等多个领域都有着不可替代的地位。对于初学者来说,如何制定一个合理的学习计划,并选择合适的书籍来深入学习是非常重要...
学习C++从入门到精通的的经典书籍推荐,列出世界各种c++的经典书籍
这是 C/C++学习指南(语法篇) 对应的视频教材! 面向零基础的初学者。同时,书中还讲解了初级程序员所必须掌握的知识和技术,如“单步调试”,“编码规范”, ANSI函数库,文件操作,标准模板库STL的使用。 学习方法:...
这本书"这是一本C++入门书籍"显然是为了帮助初学者理解并掌握C++的基础概念和语法。C++的学习通常从以下几个方面开始: 1. **基础语法**:C++的基础包括变量声明、数据类型(如整型、浮点型、字符型等)、运算符...
总之,《C++程序设计原理与实践》第二版基础篇是一本全面而深入的C++入门教程,它不仅涵盖了C++的基础语法和核心概念,还注重实践教学,使读者能够在学习过程中不断积累编程经验,成为一名熟练的C++开发者。
《C++编程实例100篇》是一本深入浅出的C++编程教程,它以实践为主导,通过丰富的实例帮助学习者掌握C++语言的基础和核心概念。这本书的每个实例都精心设计,旨在帮助初学者和有经验的开发者巩固和提升C++编程技能。 ...
### C/C++ 入门基础书籍名单解析 #### 一、引言 在软件开发领域,C 和 C++ 是两种非常重要的编程语言。C 语言以其简洁高效的特点被广泛应用于系统编程、嵌入式开发等领域;而 C++ 则继承了 C 的特性,并在此基础上...
根据提供的信息,我们可以总结并推荐一系列有助于学习C++语言、从初学者到进阶阶段所需的书籍。以下将详细介绍这些书籍的选择理由以及它们各自的特点和适用人群。 ### C++ 入门书籍 #### 《C++ Primer Plus(第6版...
自学C_C++的书籍推荐(自学C_C++看书路线推荐)(我自己读过的一部分有关C_C++开发相关的书籍)
c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习c++书籍 可以更学习
C++程序设计原理与实践 第2版 (Programming Principles and Practice Using C++ Second Edition) 是c++之父Bjarne Stroustrup的另一部经典著作 本书从计算机科学、软件工程、程序设计讲起,一步步带我们走进c++...
C++学习是Android客户端目前最全面的免费离线C++学习书籍,提高C++二级考试成绩、增强C++自学能力,内容包括: 1、C++数据类型、控制语句、循环、数组等基础 2、C++逻辑算法练习题 3、C++函数、指针 4、C++内存...
Effective C++, More Effective C++, Exceptional C++, Inside the C++ Object Model, 还有Lippman的演讲以及一些推荐给程序员的C++书单
通过本篇文章介绍的学习路径和资源推荐,希望能够帮助初学者快速掌握Visual C++的核心技能,并逐步成长为一名优秀的C++开发者。 以上就是根据题目要求整理的关于“Visual C++学习资料”的详细知识点,希望能对正在...
本文概括了C++学习的要点,涵盖了学习C++的正确心态、学习方法、书籍推荐、编程习惯和异常处理技术等方面。以下是从文章中提炼出的知识点: 1. 学习C++需要摆脱C的影响,作为一门新的语言来学习。 2. 《Thinking In...
接着上一次上传的资料,总结的内容,主要是一些C++数据类型的资料,都是自己学习总结的,还是那一句,大神绕道,学习能力和记忆力的确会随年龄受到影响。但是学习C++本来就是一个周期相对较长的过程,最重要的是保持...