C/C++培训
美国上市C/C++培训机构

400-111-8989

热门课程

学习c++两个大方向

  • 时间:2015-06-08
  • 发布:网络
  • 来源:网络

学习C++过程是很重要的,一个关于C++学习的分类,两个大方向:面向对象编程(OOP)和泛型编程(GP)。这是两个最基础的方向,不过如果单纯抱着一本国内常见的C++入门书籍看的话,很容易将后者忽略(国内入门书籍过重得介绍C和C++中共有的部分和OO部分,极端忽视GP部分,这可能和GP更多地用于函数库的编程而OO更贴近大部分人实际工作的原因有关吧,手机码字,英文书名因为方便辨识,书名号不写了哦。

那就先从OO方面开始吧。

入门书:首先是两本如同《辞海》般详细的神书:The C++ Programming Language & C++ Primer,这是两本几乎完全涵盖了C++所有特性的书籍,就不做过多介绍了;另外一本同样超赞的Essensial C++,可以看做是一本C++的《新华字典》,也就是上述两本的的简化版;以上3本适合所有同学看,不管是有还是没有C基础的同学,尤其是Primer第五版,随着Moo大神的加入,将Accelerate C++的写作风格带入,呈现出了一种跟第四版完全不同的风格,另外就是C++11标准在第五版被涵盖并放在了醒目的位置,也是超赞的。

进阶书:那就不得不提主席大人和他的好基友Meyers的两个著名系列:Excptional 和 Effective系列了,前者包含3本:Excptional C++, More Excptional C++和Excptional C++ Style(中文版叫C++编程剖析),难度逐渐加深。主要是谈工程方面的细节和经验;在这个开始读这个系列之前,有必要将Effective 系列中的两本Effective C++和More Effective C++读一下,尤其是前者,可谓"C++ 程序员必读的第二本书",这个系列是讲述编程风格的。这两个系列读完后可以看看《C++编程规范》,这可以说是上面两个系列书的总结。

其实到此,偏OO方向的书也差不多介绍到这里了,之所以到进阶就结束,因为这方面确实是一些很实在的技术,在结合模板比较少的情况下,很少有所谓的"奇淫技巧"。不过在此要专门推荐一本OO方面更高层次的书 Inside the C++ Object Model,详细地讨论了对象的构造、生存、释放等问题,不过对编译器不熟悉的同学看的话可能就比较吃力了。

接下来就介绍GP方向的书籍。

大部分GP的书籍都是以C++最核心的库STL作为载体来编写的。

入其实从学习GP开始,就不能算作是C++学习的入门了。不过因为分得比较细,还是按照三个层次来介绍吧。

入门书:个人认为没有入门书

进阶书:C++ Templates,模板学习的圣经,全面地介绍了模板的各个方面;Effective STL ,meyers的Effective系列的第三本,讲述了STL方面编程风格,也介绍了实际编程中STL库中一些容器和算法的用法和误区;Generic Programming and the STL,讲述了泛型编程的核心思想和各种泛型组件(以STL组件为例)。

深入书:《STL源码剖析》,从源代码的角度分析STL中各种容器和算法的实现,【强烈推荐以这本书代替其余任何一本C++数据结构书的学习(前提是如果有信心有毅力学透的话),因为侯捷老师说任何一个C++学生写出来的程序在SIG STL面前只能算三流程序,不妨多看看STL源码】;最后一本则是Modern C++ Design,这是一本充满了"奇淫技巧"的书,用泛型的思想结合模板写出足以让任何人都吃惊的代码——原来还可以这样写。不过这本书中内容的价值则可能是仁者见仁了——一般工作中基本用不到。

除开GP和OO这两个方面,另外还有两本书推荐给大家。一本是API Design for C++,顾名思义讲述如何编写高质量的API接口;另一本是《提高C++性能的编程技术》,讲述一些提高程序效率的技巧,让你知道C++同C一样高效。Ps.这本书结合Effective系列和Excptional系列一起看有奇效哦。

上一篇:C++面试常考题目
下一篇:推荐两本比较难以区分偏重于面向对象编程(OOP)和泛型编程(GP)的书。

Sublime Text 3 实现C++代码的编译和运行

C++培训教程之C++对象模型探秘

C/C++代码安全漏洞审计,你知道多少?

C/C++语言循环结构的嵌套

选择城市和中心
贵州省

广西省

海南省