大厂程序员教你如何学习C++(内附学习资料)

目前准备面试同学都知道,C++是百度和腾讯的主流开发语言,而java是阿里的主流开发语言。

对于初学者来说,也不用纠结究竟学习c++还是java

其实只要好好掌握好一门即可,另一门即可融会贯通

因为我自己先后就职于腾讯和百度的工作经历,所以接触C++更多一些

我这里就给大家推荐学习C++,从了解到熟悉的各个阶段应该看的书

为什么不说精通呢,因为精通C++超出我的范围 哈哈,所以我只列出学习到熟悉C++的学习过程。

相信国内敢说自己精通C++的也是少数了

言归正题

首先什么是C++

如果仅仅以为C++就是C加上了一些面向对象的特性,说明还没有真正的了解C++

C++发展这么多年,已经融入了很多元素。

大家可以把C++视为一门联邦语言,而非单一语言

C++主要涉及到如下四块:

  • C语言。说到底C++仍是以C为基础的。区块、语句、预处理器、内置数据类型、数组、指针等等都来自C。

  • Object—Oriented C++。这部分就是 C With Classes 所诉求的:构造函数、析构函数,封装、继承、多态、虚函数(动态绑定) 等等。

  • Template C++。这是C++泛型编程的部分,也是大多数程序员经验最少的部分。Template相关考虑与设计已经弥漫整个C++,也正是因为Template带来了新的编程泛型,就是模板元编程。

  • STL。STL是一个程序库。容器、迭代器、算法以及函数对象的规约有极佳的紧密配合和协调。STL有自己的一套规则,所以当你使用STL的时候必须要找它的规约来。

我这里推荐5本书,建议按照我列出来的顺序进行学习。

第一本书:C++ primer,豆瓣评分:9.4

这本书是C++经典教程,书中的所有例子均采用了C++11的标准。

书中的教学辅助内容是非常丰富,编程示范也是精心设计,所以这也是C++ Primer一直保持着在C++领域的权威地位的原因。

无论是对初学者入门,还是已经工作的C++程序员提升自己的技术实力,这本书都是首选

看完了本书,可以说入门C++了。

第二本书:effective C++,豆瓣评分:9.6

对于这本书,在C++圈子里有一个传言:C++程序员分为两类,读过Effective C++的和没读过Effective C++的。

这本书是C++顶级大师scott Meyers成名之作,

看完primer之后,再读Effective C++,可以快速提升自己C++的功力。

这本书也不是读完一遍的快餐书籍,第一遍读的时候可能很多条款领会不到其真正用意。

这就需要反复阅读才能体会,这里蕴藏着C++精神的思想和无与伦比的表达能力。

第三本书:effectiveSTL,豆瓣评分8.9

本书是真的STL的经验之谈,同样是Scott Meyers大师的力作

书中有50个条款,每一个条款都举例了在使用STL时候需要注意的地方

并且详细的分析了为什么会有这样的问题,以及给出相应的解决方案。

此时看完了C++ primer,effective C++,effective stl之后,可以说自己是掌握C++了

第四本书:STL源码剖析,豆瓣评分:8.7

每一个程序员都知道,提高编程水平的最快捷径就是剖析大师的代码。

源码在手,天下我有。

前辈们的经验结晶、思维过程、技术思想、缜密风格,都原封不动的体现在源码之中。

本书讲述了各个容器的源码实现,包括vector、list、heap、deque、Red Black tree、hash tablet、set/map 等等。

还有各种算法的实现,包括排序、查找、排列组合、数据移动、复制技术等等。

看完此书可以说是有一点底气说自己熟悉C++了,至少比了解更近了一部

第五本书:深度探索C++对象模型,豆瓣评分8.9

这本书重点介绍C++面向对象程序设计的底层实现机制

主要包括结构式语意、临时性对象的生成、封装、继承,以及虚拟函数和继承

这本书可以让你彻底了解底层实现的机制,这会让你的代码执行效率获得极大的提升。

对于C++底层机制感兴趣的读者,这必然是一本让你大呼过瘾的绝妙好书。

看完此书,可以说自己真的熟悉C++了。

最后呢,也要强调一下,

读过只是开始,多练多实战内化成自己的东西才是王道!

大家加油!

这里介绍的书籍我都已经帮大家整理好了,而且还准备了primer 的中文版和英文版。可以在我的微信公众号「代码随想录」后台回复「C++进阶书籍」获取哈

 

笔者介绍:

在校期间侥幸得了个ACM亚洲区域赛铜牌,哈工大计算机硕士毕业后在腾讯和百度采坑
微信公众号:「代码随想录」,分享自己对互联网以及技术的想法与思考,也希望和你可以交个朋友哈。
关注后回复: 「java」「python」「php」「计算机网络」「简历模板」 等等关键字就可以获得我多年整理出来的学习资料。
求职内推也可以来找我哈,首推百度。腾讯、阿里、头条等也可以帮忙联系。


posted @ 2020-04-25 22:22  代码随想录  阅读(750)  评论(0编辑  收藏  举报