时间: 2017-03-13 文章来源: 洋蜜蜂
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。所以近几年来对于C++的学习也是越来越火热。学习C++过程是很重要的,一个关于C++学习的分类,两个大方向:面向对象编程(OOP)和泛型编程(GP) 。
入门书:首先是两本如同《辞海》般详细的神书: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++两个最基础的方向,不过如果单纯抱着一本国内常见的C++入门书籍看的话,很容易将后者忽略(国内入门书籍过重得介绍C和C++中共有的部分和OO部分,极端忽视GP部分,这可能和GP更多地用于函数库的编程而OO更贴近大部分人实际工作的原因有关。有兴趣学习的C++的留学生们可以多看看上边的介绍,如果之后再加上专业老师的辅导一定会事半功倍的。
洋蜜蜂在线教育平台是北美首家在线全中文辅导平台,不受时间还有地域的限制。集合全球各地的高校tutor,帮助留学生降低教育成本,让在线辅导更方便。包括econ辅导 stat辅导 math辅导 cs辅导 finance辅导 accounting辅导等各科在线辅导,提供全方位留学辅导。
更多关于C++辅导内容,点开主页栏目即可快速获取,有关C++辅导详情请联系我们24小时在线客服微信:yuff996.