知识屋:更实用的电脑技术知识网站
所在位置:首页 > 教育

寒假 45 天如何自学入门C++?

发表时间:2022-03-25来源:网络

说实话,我是不想回答这个问题的。

在个人看来,45天C++最多入个门,学会?抱歉,确实不太可能。

C++难学是互联网 IT 界公认的,不信看看下面。

45天学会它,抱歉,真的不太可能。

虽然现在出了个 rust 语言也挺难学的,不过还是比不了 C++ 难学。

话说在我自己学习计算机的过程中,慢慢的养成了收集书籍的爱好,前段时间看了一下,吓了一跳!!不知不觉间我已经收集超过 1000 本了。

其中涉及C/C++、Java、Python、Go语言等各种编程语言,还有数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经等~

地址1:https://github.com/forthespada/CS-Books(如果由于网络等因素不能访问,可以尝试地址2)

地址2https://gitee.com/ForthEspada/CS-Books

那么,C++既然这么难学,难学在哪里?为什么大家还要学它呢?

来看看那些C++大佬们的回答吧

为什么C++让人觉得这么难学?

来源:为什么C++是最难学的编程语言?https://blog.csdn.net/qq_43351159/article/details/88955034C++设计理念本身想通过各种规则克服C语言里面由于语法规则不清晰导致在运行过程中出现的一些错误,这下让初学者倒霉了,很多初学者在学到泛型编程会觉得编译过去太费劲了,好多条条框框卡的死死的,必须要按照语法规则走才能进行下去,而且就语法细节来讲,零散的需要掌握的细节多如牛毛,有的程序员已经做了好多年对于有些C++语法规则还是觉得陌生的很。C++语言的更新速度也是相当惊人,其语言本身还在进化,其实大家还在学着一门还在不停升级到编程语言,而且还会出现这种情况,等你费了九牛二虎之力掌握了一些语法细节之后,发现新的更新完的时候,已经把之前的都丢弃了。C++也是可以操作指针,本身指针已经很具有复杂性,再加上泛型编程,整个更加热闹了,既追求性能的极致化,还想编程模式灵活性,背的担子异常沉重,以至于很多人在学完C++之后,再去学习C语言会感觉异常的轻松自如,突然有种解决的感觉,其实很多C++语法学习不是让你如何去使用,更多的是告诫你不能怎么用,这是最难受的,学了一堆语法发现不能立即用上,还需要在特殊的场景才能使用上,对于绝大部分对于这门编程语言还没熟悉之前,算是一种精神的折磨。

不扯淡了,回归正题,

如果您想尽快学好C++,不妨接着看下去,我给你推荐一条比较靠谱的 C++ 学习之路,不敢说让你45天之内学会C++,已经是相对而言稍微快一点的速度了。

话说在我以前通过校招上岸字节跳动后,将自己的秋招找工作笔记开源在github上了。

这份笔记包括操作系统、计算机网络、数据库(MySQL、Redis)、常见情景题、智力题以及计算机面试中需要注意的问题

后来我将这份笔记制作成了PDF,现在免费分享给学习学妹们,赶快白嫖走起~

1、小白入门(从视频入手)

人是一种很典型的视觉动物,更喜欢被动接收知识。相比较于书本上的一板一眼的文字,人更喜欢视频以及图像(要不你以为为什么淘宝上的商品都是用很精美的图片来介绍的,就是吸引你的眼球)。

所以,如果你是一个小白,我建议你先从看视频做起,去找一门比较好的C++入门视频教程看着先。

我推荐:

慕课网的C++国家精品视频不错,但个人还是更推荐黑马的教学视频,确实可以,我自己也是学黑马的C++视频入门的(黑马看到了吗?快给我打钱)

1、慕课网C++视频(国家精品那种)

2、B站黑马C++入门级视频:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难

这个视频可以说是B站对新手最友好又不废话的C++教程了,简称我认为的B站最好教程 ,不是我说的,是底下的人评论的,这条评论也有 2000多人点赞了 哈哈

这个视频相当不错,大概有314话,在最后也会教你做一个机房预约系统,而不是五子棋和贪吃蛇这种小孩过家家的玩具。

这位讲课的老师很有耐心,很会仔细的讲清楚课上的代码,不断地重复其中的一些重要知识点,如果你是个小白,你真的应该感谢在看视频初期就遇到这样一位仔细的老师,跟着多看几节基本自己都可以写出来了。

我强烈推荐这本书,这本书共分为三个部分, 19 章:其中1 - 8 章为变量、循环等基本知识,第 9-12 章为标准库的知识比如容器算法等,第 13-19 章设计拷贝重载等知识。 我个人在看这本书的时候,课后题也没有放过,基本都做了,也很感谢那些课后题,让我打牢了自己的C++基础。

这本书是非常好的一本书,我画了一个C/C++的导向图,这本书认真看完是可以对这个导向图上的知识有基本了解的。

学了语言也要记得去做相应的练习,最好的方法就是与数据结构结合在一起去实践,那么问题来了。

数据结构与算法,怎么学?

如果你是纯小白,啥也不懂

你如果是个纯小白,一点基础也没有。那么我建议你跟C++的学习方法一样,先去看看视频,再来刷刷题,这里我推荐看看青岛大学王卓老师的数据结构与算法视频。

我画了一副数据结构与算法的知识点导向图,希望可以帮到你,其中基本都是校招会考察和涉及到的点。

青岛大学王卓老师的课,也就是下面这个,可以看出一共173P,可以说讲的很细致了。线性表、栈、数组、二叉树、图、哈希、查找、排序,每个知识点掰碎了、揉开了,给你讲清楚了。

可以看一下已经看过的那些人的评论,这门课还是相当可以的,甚至还有人说“这是他所能找到的全网最详细的数据结构与算法的教程”。

还有以前的人做过的笔记,要记得学会站在别人的肩膀上,利用好前人的总结和经验

就好像现在我在跟你们说学习的方法一样,这也是我的结晶,希望你们都能好好学到东西。

王卓老师的课程链接在这里

看完视频后可以去看一下《大话数据结构》和《啊哈算法》,自己去尝试一下看看是不是掌握了王卓老师在视频中提到的内容。

大话数据结构》对于一些小白来说这本书是福音了,大话系列的典范之作。将数据结构中比较晦涩难懂的链表、树等知识讲得通俗易懂,对新手比较友好。有一定数据结构基础的可以忽略了。

啊哈算法》与大话数据结构一样对于新手比较友好,是一本很有趣的算法入门书,如果你有一定算法或者coding基础就不必看了。

我个人也把自己上过牛客网头条的剑指offer刷题笔记分享出来了,此外也推荐一下这位谷歌大佬打败600余道LeetCode题目的刷题笔记。

这里也推荐几本不错的算法书籍吧

书名:剑指Offer

理由:这本书不需要多做介绍,校招必备!可是还是要自己看起来、刷起来,不要放在那里吃灰,如果这本书上的题目你都没有做过或者也不会的话,算法这一关基本是送人头的存在了,笔者在秋招过程中这本书看了2遍。

书名:挑战程序设计竞赛

理由:吹爆这本书!!!也是我唯一一本系统看完的算法书籍!!这本书比啊哈算法算是进阶一点的算法书籍了,作者是ACM-ICPC全球总冠军,国内的ACM大神巫泽俊译的,汇集了世界顶级程序设计高手的经验总结,里面有很多题都是很经典的题目,比如有一题是两只蚂蚁相对运动就曾经出现在某算法平台的周赛中。看这书不能急,得慢慢消化。

书名:程序员代码面试指南

理由:牛客官网合作大佬-左程云大神的著作,牛客上还有这位大佬的专栏和算法提高班。书中既有一些比较简单但易错的经典题型,比如“反转链表、二叉树序列化”,也有一些拔高的题,比如海量数据处理中的“10亿个URL中重复的有哪些或者找出10亿个URL中的Top K个”,确实是本好书。

视频主要有:

01 - 侯捷 - C++面向对象高级开发(上下两部曲)02 - 侯捷 - STL标准库和泛型编程、03 - 侯捷 - C++设计模式、04 - 侯捷 - C++新标准C++11&14、05 - 侯捷 - C++内存管理机制_60_侯捷、06 - 侯捷 - C++程序的生前死后07、算法原理与实践(选修)08、系统设计与实践(选修)09 - 辅导课:10 - 陈硕的 Linux CC++网络编程实践视频

真心没办法了,我把视频领取方式放在下面上了

侯捷C/C++系列视频全集

没什么能阻挡我们学习!没有!!!

------------------------------------

4、再度进阶

这里不多BB,C++一般都会用来做后台开发或者是服务端开发,这就要求你要具备一些Linux上的基本知识。

同样的,我推荐自己看过的基本网络编程的书籍。

书名:TCP/IP网络编程

理由:如果让我推荐一本网络编程入门书籍,那我毫无疑问会推荐这本韩国人写TCP/IP网络编程,书中例子超级多,堪称一小节一个例子,比如很知名的简易版回声服务器、优雅断开TCP链接等,从客户端和服务端两个方面分别展开叙述,手把手带你初窥网络通信的点点滴滴。在看这本书的时候,注意总结笔记,因为例子太多了笔者经常出现看了后面一节就忘记前面一节的内容的情况,后来记了笔记就好多了。而且在github上也有很多别人做好的读书笔记,牛友们可以自行检索。在获得同样知识的前提下,当然用的时间越少越好了。

书名:Linux高性能服务端编程

理由:游双老师的经典之作,笔者第一次看的时候,内心os:这什么垃圾,那么多人推荐??第二遍看的时候,不好意思,是我垃圾….这本书需要一定的门槛,但真的是一本很好的书,网络通信相关基本全都涉及到了,比上面那本《TCP/IP网络编程》要详细的多。其中第1-5章高度涵盖了计算机网络的知识,高度概括,所以看这本书的前提就是要对计算机网络有基本了解和认识,后面的章节讲的是网络通信的前世今生,关于网络通信你知道的不知道的,这本书都告诉你了。强烈推荐!

书名:Linux多线程服务端编程:使用muduo C++网络库

理由:前排提醒,这本书有一定的门槛。北师大陈硕大神的经典著作,从事服务端编程方向的从业人员必看的一本书,能够从书中借鉴到很多比如关于定时器的设计。笔者也只是看了一小半,建议后期再看,需要不少基本功才能看明白。

书籍推荐到位了,视频也要跟上啊,《Linux多线程服务端编程:使用muduo C++网络库》的作者陈硕在B站有一门课相当可以,推荐先看视频再去啃书。

总结

你可以舍弃4、再度进阶中的三本书,但是1、2、3中涉及到的书籍和视频,真心建议你去好好学好好看。

所以,我不太认为在45天之内能学好C++。如果要学好C++,至少要走完1、2、3吧。

Over~

码字不易,求个赞可好~有事欢迎@阿秀学长,下回再见。

最后,C++天下第一!有不同意见的,当场打死!

uodate1

我来更新啦!

最近在github上闲逛的时候发现一份谷歌大佬的100%打败600余道力扣的算法小抄,这可是100%啊,到底是大佬,真牛批啊,还能更强吗?

你如果想进BAT、TMD、快手这样的一线大厂,那么这本书小抄你应该好好看看了。

毕竟目前国内对于算法的考察有点到病态的地步的,面试必考算法、算法不过关基本GG

艾玛,码字太累了,各位彦祖亦菲们,如果我的上述回答对你有所帮助的话,帮@阿秀学长点个赞吗,感谢!

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜