一系列的书让你从C++初学者变成C++专家

你真的想学C++而且想要学好它?假如你花些时间看完这里的书籍推荐,你会学C++。

读了这篇文章,你可以照着我们的建议从C++初学者成为专家,列表的顺序依照难易程度来安排,你应该照着这顺序来研读,但是C++程式语言经典本是有用的参考手册,你可以在你读其他书籍的时候一起阅读。

[adsense][/adsense]

C++ 风格与艺术 第二版 cprogramming 最推荐的一本书,本书的第二版是适合学习 C++ 的程式设计员的彻底入门书籍。你已经知道这个程式语言,现在准备好实作了吗?C++ 风格与艺术会深入探索很多层面;你可以使用C++程式语言来学习实用的技巧以及撰写很棒的程式码,本书内容涵盖:

  • C++ 语法
  • 程式编写标准和风格
  • 物件类别的建立和使用
  • 模板
  • 除错和最佳化
  • C++ 前置处理器的使用
  • 档案的输入╱输出
  • 轶事跟经验
  • 效能调整技巧,学习让程式更快
  • 学习利用程式设计师的工具

2. Programming Pearls中文版

这本书已经绝版不过同学还是可以买二手书籍或是从图书馆界来看, Jon Bentley 的程式设计逸品集通常被归于经典名著之林,你已经学了些基本技巧,现在想像个程式设计师了,现在是时候测试自己的本领了, Programming Pearls中文版提供了15个专栏情境给你,这是Alex Allain最喜爱的书籍之一:里面有很多诙谐的文字,内容包括:

  • 如何重新制定问题来写出简洁的方案
  • 更多效能技巧以及一段的效能调整参考
  • 强大的效能评估技术以及程式的限制
  • 如何展示你的程式作品
  • 一大票的强大演算法跟应用的创新方法
  • 各种简单的技巧已撰写简洁的程式码

你还可以看到很多在找工作面试时会碰到的问题解法,这是一本很棒的书可以让你了解各种重要的演算法以及来学习。

3. Effective C++ : 55 Specific Ways to Improve Your Programs and Designs 

这一本书的繁体中文版碁峰出到第三版,应该已经绝版,但是有些书局可能还有库存可以买到,简体中文版的不知现在能不能买到,有办法的同学可以找一本来读读,这是第一本书可以让你与众不同的书,一旦你阅读,你就会有一大批的工具来扔掉程式的问题,虽然你可能不会用到所有的50个技巧,不过你会学到很多C++细微的差异以及避免很多陷阱–Alex Allain第一次读完之后,他发现他自己从几个收集来的技巧轻易地抓到错误,在这本书里你可以学习到:

  • 什么功能是类别的一部份,为什么它跟你有关系
  • 如何撰写程式码给别人使用
  • 在撰写指定运算子时有什么要注意
  • 可导致巨大效能改善的简单技术
  • 进阶的C++技术,包括STL的使用(有很多的范例

4. More Effective C++国际中文版

More Effective C++国际中文版 和其前一本兄弟书籍Effective C++一样,More Effective C++对每一位以C++为开发工具的程式员而言,都是必备读物。More Effective C++一书充满了实用性高且掷地铿锵的忠告,为你每天可能面对的问题带来帮助。你可以学到特定的设计问题包括

  • 经过验证的一些用来改善程式效率的方法,包括尖锐而犀利地检验C++语言特性所带来的时间和空间上的成本。
  • 广泛描述C++专家所使用的高阶技术,包括placement new、virtual constructors、smart pointers、reference counting、proxy classes、double-dispatching。
  • 以实例说明exception handling带给C++ classes和functions意义深长的冲击 包括其结构和行为。
  • 务实面对新的语言特性,包括bool、mutable、explicit、namespaces、member templates、C++标准函式库、以及更多东西。如果你的编译器尚未支援这些特性,Meyers告诉你如何在没有它们的情况下完成该完成的事情。

这本书充满实用的建议跟智慧,以及对强大且具威力的设计有很清楚的说明。

5. C++程式语言经典本

这本书可能只能在二手书摊找到或是图书馆借到,不管怎样都值得看看,这本书是由发明C++的人写的,里面涵盖了很多主题(真是见鬼,是整个语言!) 更好的是,你会了解如何使用语言的功能,Stroustrup的写作有时不太易懂,有些部份偶尔要读好几变才能了解全貌,尽管如此,内容的广度令人震惊,这本书也是一本优良的参考手册,当我在用C++工作时我手上都会有这一本书,如果你对这个语言有问题,几乎可以确定回答你的问题,虽然这本书涵盖的范围是这么大,很难让你取出你要学习的部份,我们还是列了一些你可以学到的东西

  • 令人难以置信的深度跟广度
  • 语言跟功能细微的差异说明
  • 语言里偏僻个案的说明
  • 不为人知的语言功能之详细说明–成文C++细节中的真正专家

6. 万无一失的程式码:终结C&C++软体漏洞

这是博客来最新出的书,这本书指出并解释造成软体漏洞的原因且逐步介绍了避免的方法。此外,本书鼓励程式设计师采用最好的安全方法并拥有安全心态,如此一来,除了可以保护软体不受到今日的攻击,也可避免明日的攻击。

技术细节:

  • 增加任何C或是C++应用程式的安全性
  • 克服利用不安全字串操作进行攻击的缓冲区溢位、堆叠失效或回传导向的程式攻击手法
  • 避免动态记忆体管理函数的误用而导致的弱点或安全瑕疵
  • 消除因符号整数溢位、无符号整数包裹循环及裁截错误所产生的整数相关问题
  • 进行安全输出输入,以避免档案系统弱点。
  • 正确使用格式化输出函式,避免发生格式化字串安全弱点
  • 当开发同步程式时,避免竞抢条件以及其他可被利用的弱点发生

依类别分类的程式语言书籍

阅读一本好书通常学习如何写程式的最好方法,有些书涵盖的材料在深度上比多数的教学还深入,有些书则提供优良的参考部份,或是全部彻底地作为参考,我们的目的是帮你找到适合你的书。

阅读下面类别的书籍评论,或是在程式语言中受欢迎的书中选择几个技巧。

需要提一下的是没有一个人可以一夜就成为一个程式设计专家;这些书页不能保证你变成一位专家就像你不会因为读了教科书之后就保证你可以得A那样,你必须把你的知识付诸实践一段时间后才行,然而这些书可以帮助你获得一堆的知识跟实用建议来帮你减少学习的时间。

Comments are closed.