我的C++路程

博主分享了自己从接触C++到深入学习的经历,包括受《如何成为一名黑客》影响,自学C++遇到的困难,如更换教材、教师教学质量等问题。通过阅读经典书籍如C++ Primer和《深入探索C++对象模型》逐渐提升技能,并在数据结构和操作系统课程中深化理解。博主在学习过程中还涉足Linux和Java,并在毕业后选择东软工作,认为不断学习和认清自我是成长的关键。
摘要由CSDN通过智能技术生成

        C++认识3年了,这中间虽然走的很辛苦,但同时也很开心。就像我文章分类的名字一样“C++二年级,其实是算来应该是三年级才对,只不过大三那年没好好学,留级一年,只顾着打魔兽和看一些专业课程,如操作系统、数据库,虽然这两科考试的成绩比较理想,但是也因此阻碍了C++的进度,现在想来心里很不是滋味,要是当初...可是怎么可能有要是当初...”呢?还是现在努力在以后把失去的时间补回来吧。

 

        大二那年开始了真正意义上的学习,因为在网上看到了一篇文章:如何成为一名黑客作者当然是大名鼎鼎的ESR了,很少有人不知道他吧,于是有了些现在看来可笑的想法,但是当时的确是支持我的动力。

        正好我们学校开了面向对象C++编程这门课,于是很认真的听课、练习,但是上了不几天课老师说,咱们的教材不好,换一本吧,然后全民去买钱能老师编写的《C++程序设计》我没买,因为很不相信这个老师),可是又过了几天,等老师讲到类的一些高级属性时,说钱能老师的书讲的不深入,大家不用看书了,听我讲就行了,于是全民把这本书丢到了屋里带着耳朵来上课(庆幸自己没买 ),可是他讲的丝毫没有条理,在夏天的燥热中,很多人倒在了课桌上!到现在我还一直记恨讲这门课的那个刚毕业的老师,如果计算机专业的老师都跟她这样,那谈什么缩短和发达国家的技术水平的差距。

        在忍耐了很长时间后(大概一个月),我选择了离开C++课堂,但是不同的是,我有自己的目标和动力,所以继续学习C++,不同的是我不假思索的选择了TCPL这本书(C++之父写的啊,总不能不深吧?总不能不好吧?),结果如何,看过这本书的人都知道,因为Bjarne Stroustrup惜字如金,所以这本书很不适合初学者,在硬着头皮读玩这本书之后,对于C++还是一头雾水,怎么办?又拿来室友那本钱能的书继续看,感觉明白了很多,但是不够深,TCPL还是有点难,在网上查了查,发现了一篇文章介绍C++的四本经典著作的文章,我印象非常深刻,这四本书分别是——TCPLC++ PrimerEssential C++Effecitve C++在经历了很长一段时间的挣扎后,选择了潘爱民老师翻译的C++ Primer(当时和小小谈恋爱真处于上升的阶段,小小通情达理,从来都很支持我),终于在考试前读完了这本书,但是考试成绩不是很理想,原因是老师根本不考我看的书上的东西,她把自己总结的课件当考试题,类继承、多态、重载操作符只占了很少一部分分数,这点让我很是气愤,但又无可奈何。

 

        大二下学期,我开始大量的在网上看关于C++的一些文章,这个过程中经常去荣耀老师、侯捷老师、孟岩老师的站点,对C++的理解也有了更深一步的进展。
  
这学期开了一门我认为大学中最重要的一门课程——数据结构!于是每天花很长时间上自习,去学习理解链表、树、图的一些算法,又花很长时间去编程实践这些算法,这次我没有走弯路,买了同样经典的c++标准程序库》这本书(由侯捷老师和孟岩老师合作翻译),结合这本书,模仿stl的接口,把吉大出的数据结构中的每一个算法都实现了出来,这中间还看了一本书:C++ Templates只是对模版有初步的了解,能看懂简单的应用,原因有两个:模版确实很难,这本书的简体版译本不是很好,有些句子不怎么通顺,我脑子不好使。但是当时来说已经足够了,可以读懂大部分stl,再模仿出各种数据结构。

        这一过程对我的帮助非常的大,不敢说打通任督二脉,但也足以修习更深的武功秘籍了。

 

        大三开始后,我买了高钙奶粉”——《深入探索C++对象模型》对这本书的赞美之词足够写一篇文章了,我想用一句话来概括——知其然而且要知其所以然!这本书将我们带入了C++的底层实现,让我的了解了C++的内存模型,从而更深刻的理解了C++,要说想要打通任督二脉,非读这本书不可!

        之后呢?怎么学?这让我郁闷了很长一段时间,年轻么,总是想做点与众不同的事情,于是不想学windows下的mfc编程,想自由啊,想linux啊,于是装了red hat linux9,刚开始每天鼓捣他,可是太麻烦了,又要设置显示器的分辨率,又要学vim,又要看英文文档。这样大概1个月后,得知中国电子竞技界出了一件大事——skyAcon5上得了冠军并且要冲击wcg2005,其他寝室的同学就开始玩war3,整的我也手痒,于是跟进,从0510月开始,我从班里的人质级的选手,到sky夺得wcg2005冠军后,成为了我们班的冠军,这其中付出的努力可想而知,还因为打游戏跟小小吵了好几回架呢,于是C++被搁到了一旁,linux也只学了个皮毛,只看跟考试有关的东西,结果年终的时候只勉强拿到三等奖学金,但是没完,打魔兽的状态还一直持续到我学操作系统为止。

 

大三下学期,开了操作系统这门课,这同样是计算机专业最终要的一门课程,说实话,我很喜欢开源软件,很喜欢linux的思考方式,觉得这样不“傻瓜”,特别想把这门课程学好,于是每堂课都认真听,每个问题都认真思考,幸运的是给我们讲这门课的李德昌老师,是我在上大学以来讲授计算机专业的老师中最优秀的、最负责的老师,他不是简单的把知识告诉你,而是引导你自己找到解决问题的方法,他对我的帮助非常大,更幸运的是在他的指导下,我把操作系统中PV三进程的同步用C++模拟了出来,然后在课堂上,当着全系250多人的面,讲了出来,这是我今生难忘的经历!可惜的是我没有选择读研究生,没有机会跟他的继续学习。

 

之后发生了一件让我很无语的事情,我的电脑被同学U盘里的病毒整崩溃了,本来很简单的事情,重做一遍系统就好了,结果我用的系统盘把我的硬盘格成了一个区!所有的代码,电子书都没了。

忙碌中,挣扎中到了大四,问题又来了,现在找工作的要么要求会VC编程,要么要求会java,怎么办?我只会控制台下的C++编程能找到工作么?怀着忐忑的心情,到长春小有名气的培训班报了java,原因很简单,java火,mfc已经逐步被MS抛弃了。其实还有一个原因——当时我看那片“如何成为一名黑客”的时候,译者加了一句好像是:现在java也证明自身需要被想成为黑客的人所掌握,于是我选了java。十天的培训班你觉得能学到什么,但是奇迹出现了,老师所讲的所有java的语言机制我都明白,在培训班结束时突然非常感谢C++,我想没有C++的基础,不会这么快入门吧,讲java的老师还是一个C++高手,他推荐我看侯捷先生的stl源码分析》和《effecitve C++》,于是又开始了学习C++,很快的又读完了一边《C++ Primer》,然后买了全新的《effective C++》第三版。继续往下走,下一站Boost!

 

出乎意料的是工作特别轻松的找到了,而且以迅雷不及掩耳盗铃之势:)签的是东软,美其名曰,“菁英计划”,虽然大家都在批评东软的薪资水平低,而且很多同学都为我惋惜,觉得我能签到更好的企业,但是我十分清醒:自己还差很多,不如在东软这样的大公司打磨几年,如果说大学四年教给了我什么,那么教给了我最重要的东西就是——认清自己,不断学习!

 

最后推荐给想学C++的朋友一个简单但是完整的学习C++的读书路线图:

C++ Primer-> c++标准程序库-> effective C++-> effective STL->深入探索C++对象模型

之后可以看C++的各种库,如boostACEqtmfc

如果从C开始可以看这几本书:

C语言的科学与艺术->C专家编程->C陷阱和缺陷

  操千曲而后晓声,观千剑而后识器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值