/cpp-primer-5th

C++ Primer第五版学习资料

Primary LanguageC++

cpp-primer-5th

C++ Primer第五版学习资料

http://www.informit.com/store/c-plus-plus-primer-9780321714114

C++Primer第五版——习题答案+详解(完整版) https://blog.csdn.net/misayaaaaa/article/details/53786215

作者学习心得

2017年3月23日更新:历时三个月,粗略的算是看完了这本书,简单的进行总结一下:

本书的Part I(C++基础)是C++基础,必须进行通读掌握。这几章有非常多的小细节比较坑爹,指针与数组、指针与const、sizeof()运算符、this指针等等,看完这部分,一些最基础的程序基本上都能解决。第3、6、7章个人觉得对新手最困难,而且非常重要,需要重点理解。

Part II(C++标准库) ,第8、9章最为重要,IO库和容器对于一个程序来说是比较基础的,记得不要在C++中还依然保持C的习惯,使用cout而不是printf()、使用vector而不是内置数组、使用迭代器进行遍历。第10、11章有点基础的看起来不是很难,第十章的泛型算法,如果能用起来会让你的程序更上一层楼。第12章动态内存个人觉得对于一个想要深入学习C++的人来说非常重要,对于内存的理解、动态数组、new和delete运算符,对于C++的理解更加”底层“一点,最后12.3的例子,一定要自己动手写!

Part III (类设计者的工具),我觉得是中级学习的核心了,第13章对于一个C语言的学习者来说是全新的东西,理解了拷贝和赋值还有移动,可以理解更加深入的理解类,面向对象是一个很重要的概念。第十四章我略过没看,暂时用处不大。第15章面向对象程序设计,学完个人觉得是一个显著的提升过程,最重要的是面向对象的这种**,第15章中有很多的例子,一定要亲手敲出来!第16章,模版与泛型编程,重在理解,16.1中的函数模版和类模版只要掌握就好了。

Part IV(高级主题),第17章我也略过了,这些东西从来没遇到过(17.5可以看看,作为第八章的延伸也挺有用的),暂时不看,只作了解。第18章个人觉得你要是有志于进行C++软件开发,算是很重要的部分,18.1异常处理、18.2命名空间、18.3多重继承与虚继承都要重点理解,个人在看很多github上的大型工程源码时,遇到的次数还是比较多的。第19章,虽然遇到不多,但是面试笔试过程真的很喜欢问这些,new和malloc的区别、new的底层实现过程、union的内存机制等等,建议19.1、19.4、19.6重点理解。

上次参加优秀学长学姐分享活动,问了学长学姐关于编程学习的一些想法和经验,总结几点:

1:了解多门语言,重点熟悉(别用精通~)一门语言(C++、Java、Python、JavaScript)

2:语言只是工具,重点需要数据结构、算法、TCP/IP等等,看具体的方向(机器学习、大数据、软件开发、测试),毕竟学会了骑自行车,能骑多远还得看各方面的因素:你的走的是哪条路、自己的体能有多好、天气的适应等等

3:调整心态,不要急于求成,看完几本书并不能让你成为大牛,不断的前进才是真理!

4:看完这本书,不要太纠结于C++这门语言本身,不要立马去看Effective C++,Exceptional C++甚至The C++ Programming Language这样的书,虽然都很好,但是数据结构和算法相对来说目前更重要。

5:人生不止编程,还有美妙的生活和美妙的人!

致正在学习的你!