大厂程序员教你如何学习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」「计算机网络」「简历模板」 等等关键字就可以获得我多年整理出来的学习资料。
求职内推也可以来找我哈,首推百度。腾讯、阿里、头条等也可以帮忙联系。
大厂程序员教你如何学习C++(内附学习资料)的更多相关文章
- Python入门学习指南--内附学习框架
https://blog.csdn.net/weixin_44558127/article/details/86527360
- 大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机?
世界好小啊,刚在一个 UP 主的群里看到一个视频,标题叫做:"失业了工作没找到,却稀里糊涂上了知乎热搜,2000 多万人围观,我--" 说实话,看到视频的封面,我的下巴当时就掉到了 ...
- Github上安卓榜排名第2的程序员教你如何学习【转载,侵删】
来自:峰瑞资本(微信号:freesvc)文章作者:代码家(微信 ID:daimajia_share) 软件早已吞噬整个世界,程序员是关键角色.过去 40 年中,许多伟大的公司都由程序员缔造,比如比尔· ...
- LeetCode 到底怎么刷?GitHub 上多位大厂程序员亲测的高效刷题方式
作者:HelloGitHub-小鱼干 在众多的诸如阿里.腾讯等大厂之中,最看中面试者刷题技能的大概要数有"链表厂"之称的字节跳动了.作为一个新晋大厂,字节跳动以高薪.技术大佬云集吸 ...
- 学Java的前景与就业,资深程序员教你怎么开始学Java!
IT行业一直是就业的热门岗位,程序员这个职业稳定性和收入比都有着不错的前景,那么学Java的前景和就业是什么样的呢?随着入行Java的准程序员越来越多,各种学习Java的流派也层出不穷!其实在编程的世 ...
- 资深程序员教你如何实现API自动化测试平台!附项目源码!
原文链接: 1.平时测试接口,总是现写代码,对测试用例的管理,以及测试报告的管理持久化做的不够, 2.工作中移动端开发和后端开发总是不能并行进行,需要一个mock的依赖来让他们并行开发. 3.同时让自 ...
- 一个.net程序员教你使用less
我是一个.net 程序员,虽然说一直做后台,但是web 前端也会去学,虽然说技术只是层窗户纸,但是像我这种多动症患者,不捅破我心难受啊! 好!废话不多提,下面直接正题,至于less 是什么这里不多讲因 ...
- DIY党的福利!鹅厂程序员教你200元以内制作专属分体键盘
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由VellHe发表于云+社区专栏 前言 作为一名程序员,键盘在手,天下我有啊,不整把高大上的键盘怎么提升B格.之前一直想买个机械键盘,听 ...
- 疯狂Java:突破程序员基本功的16课-李刚编著 学习笔记(未完待续)
突破程序员基本功(16课) 数组 静态语言: 在编译的时候就能确定数据类型的语言,大多静态语言要求在使用变量之前必须声明数据类型(少数具有强推导能力的现代语言不用) 动态语言: 在程序运行时确定数据类 ...
随机推荐
- Linux常用命令之文件磁盘管理
前言 本文知识点是曾经学习过程中收录整理的,方便学习使用. 一>Linux常用基本命令 Linux命令格式:command [-options] [parameter1] ... command ...
- 什么了解suite集合实现
Testsuite继承BaseTestSuite其实内部的东西不是太多--生成suite集合的逻辑主要如下-我这里没有扒源码-因为他最终生成的TestsSuite关联的模块比较多--如果贴源码出来-- ...
- 第二章、Web中使用shiro(实现登陆)
虽然Apache Shiro的核心设计目标允许它用于保护任何基于JVM的应用程序(如命令行应用程序,服务器守护程序,Web应用程序等),但本指南将着重讨论最常见的用例:确保运行的Web应用程序一个Se ...
- 第三模块 :微服务网关Zuul架构和实践
52.Zuul网关架构剖析~1.mp4 请求过来之后首先会通过前置过滤器,然后到路由过滤器,路由过滤器是真正访问后台远程服务的,经过路由器之后,最后会传递给后置过滤器 在三个过滤器处理的过程中任何一个 ...
- 02.Scrapy-Demo
Scrapy入门实战 采集目标:采集西祠网的IP代理 包括 IP PORT 1. 新建项目 scrapy startproject xicidailiSpider # scrapy 新建项目 项目名 ...
- junit搭建自动化测试框架(一)
这里主要使用Junit搭建一个分层的自动化测试框架.这就是一个有业务逻辑的单元测试的思想.灵活性很大,对测试人员的代码能力要求较高. 以登录QQ邮箱为例,数据源使用了集合接口Map.借鉴了MVC的思想 ...
- springboot 之 根据传入参数进行多数据源动态切换
背景:最近有一个需求是根据app传来的请求参数,根据行政部门编码请求不同地区的数据,之前写的多数据源都是固定某个方法调用指定的dao然后查询不同的数据库,但是这次是需要根据前端传入参数进行动态区分数据 ...
- html+css快速入门教程(4)
练习 1.网易考拉下拉菜单 2.爱奇艺新闻 3.ps滤镜菜单 4.爱奇艺列表 7 布局 7.1 盒子模型 网页设计,首先要做好整体的布局,网页布局就是将不同的元素按照一定的规则放置在浏览器的不同位置, ...
- 常用API - Arrays、Math、Object
Arrays类 概述 此类包含用来操作数组(比如排序和搜索)的各种方法.此类还包含一个允许将数组作为列表来查看的静态工厂. 除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 Nu ...
- 帝国の狂欢(种树)(可撤销DP)
题目描述 马上就要开学了!!! 为了给回家的童鞋们接风洗尘,HZOI帝国的老大决定举办一场狂欢舞会. 然而HZOI帝国头顶上的HZ大帝国十分小气,并不愿意给同学们腾出太多的地方.所以留给同学们开par ...