三个月的学习历程——献给各位即将学C++或者刚开始学C++的朋友

ameigame 2009-11-26 01:08:11
三个月的学习历程

——献给各位即将学C++或者刚开始学C++的朋友


不只不觉三个月的学习就这样过去了,我从一个不懂int是什么的C++白痴,变成了一个略懂一二的菜鸟,或者说,还处于傻鸟阶段,总而言之,已经脱离了白痴阶段,囧~~~~~
虽然我从接触C,到C++,到MFC只有三个月的时间,但是这三个月是我有生以来过的最充实的三个月。
有人会说:三个月是什么概念?对于一个零基础的人,三个月能学到什么?我无法断言三个月究竟能干多少事情,但我能很负责的说:三个月的勤奋胜比懒惰的四年!
好了,从我个人的事迹说起了,本人毕业于广东一个二流本科院校,非计算机专业学生,大学给我的回忆,嗯,好好想想,有游戏,有谈情说爱,有泡吧,有......好像没有任何学习的记忆,囧~~~~毕业前参加了N个招聘会,每次都是高唱草泥马之歌回来。于是,到了毕业那天,正式加入了失业大军。再到后来,家里帮我找了份不错的工作,我也好不犹豫地去赴职了。两个月下来,才发现这根本不是我想要的,年轻人没有安逸的资本,只有不懈的拼搏!再三考虑之后,我想加入程序开发这一众人所说的高压工作,但是,没有任何基础的情况下,这终归只是YY,无法实现,于是和老爸商量+讨论+吵架之后,我毅然辞职,找了一个培训机构,爽快加入C++学习群体。在正式开学的前半个月,听说那里的学员大部分是计算机专业出生的,于是乎,我开始预习,听说谭浩强老先生是中国C++教父级人物,于是我买了那本红色封面的C++教程,半个月过去,我看完了此书,心中只有一种感觉:C++也不过如此,何其简单也,哈哈,看来我是C++天才......
期待已久的培训正式开始,那天我5点就起床了,洗刷,跑步,提前一个小时到达教室,满怀信心地坐在自己的座位上,等待老师的到来,一个小时过去了,老师终于来了,好,从现在开始计时。第一节课内容:指针,囧~~~~这么快?15分钟过去了,我开始懵了,这些好像谭老先生都没讲过啊,囧~~~30分钟过去了,我发现我已经像个白痴坐在电脑前,面对老师的讲解完全不知所云。1小时过去,我发现,我已经忘却了自己身在何方,原来,C++不是那么回事,原来,看完谭浩强的书,跟没基础还是没多大区别。中场休息的时候,我发现身边的人讨论的东西都是我闻所未闻的,此刻,心中再次高唱:我是一只草泥马啊,草泥马,草泥马.......
第一天下来,我开始检讨自己,如果一本书就能诠释一切的,那算是哪门子高深的语言,后来听说,要学好C++,先把C学好,于是我又去书店买了C Primer,1点睡觉,7点起床,中午拒绝午睡,每天敲的C语言代码不下1000行,慢慢地,我听懂了周围的人在讨论什么,慢慢地,我开始听懂了老师在说什么,慢慢地,我才知道谭浩强忽略不讲的动态数组,动态链表才是最重要的。实际上在学习C语言的大部分时间我也都花在指针和动态分配内存上,现在回头去看,也证明我当初没错,懂了动态数组和动态链表,C语言最基础的东西就全懂了,有人说,新手从C开始学用的最多的就是printf和cout,我用的最多的却是new跟delete。三个星期很快过去,最终考核老师是写一个程序进行各种链表操作,还有一次笔试,第一阶段的考试我还是考的不错的,虽然没有全班第一,但至少我很好的证明了一个,零基础并非学不了C/C++,并非赶不上快节奏的学习。这时候我对比身边那些和我一样不是计算机专业出生的同学,我看到了这样一点:没基础不可怕,整天抱怨自己没基础的最可怕,因为抱着这种态度的人,永远只有抱怨的份,什么都学不到。
一个没有空闲的周末之后,我们开始进入C++的学习,这时我感受到了自己之前努力的收益,理解了动态数组的基础上,构造函数的深拷贝特别好理解。我也再次感受到了C/C++的链表结构,一环扣一环,千万不可舍本求末。实际上,在理解了C语言的基础上,理解C++变的完全不吃力,但在一个月的C++学习中,让我个人收益最大的就是自己写一个容器类,也许你会说,有STL不用干吗要自己写,工作的时候不需要写容器类。对,你说的都没错,但我的观点是:当你还是一个新手,你该考虑更多的是如何打好基础,而不是YY着以后怎么工作,我坚信这个如我以前学街舞那样,基本功一个都不能少,基本功扎实了,动作看一遍就会。在C++的学习开始后的半个月,我开始写自己的容器类,实际上就是个山寨的vector,显然这东西没有任何商业价值,但是我回首过去的三个月,什么让我更好地理解数据结构,那毋庸置疑的就是这个山寨vector,这也是我写的第一个超过1000行代码的类。在这里我必须提一下这三个月来我看过的最好的一本书:William Ford的《数据结构:C++语言描述》。
还有一个不得不说的,学C++的时候,千万别吝啬买书的钱,确实现在网上有各类电子书,但是电子书龟速的学习效率,是永远都无法与纸张书本相比的。查询的时候也许电子书很不错,但学习的时候实体书本才是王道。在学习C++的时候有一个朋友说在学MFC,但他连重载,虚函数,函数覆盖这三个概念都搞不清楚,囧~~~~~好了,这里做一标志位,此人为A。在C++学习结束前,我们再次进行了一次考核,写一个DOS界面的航班售票管理系统,我的山寨vector派上用场,老师说我写的是全班同学中写的功能最完善的,心里无限的欣慰啊。
在C++一个月的学习结束后我们开始学习Windows编程,之前很多人都觉得一个没有编程基础的人很难赶上这样快节奏的学习,但事实就是只要你肯努力,没有不可能。在刚开始接触MFC的时候,我发现之前学的C++都废了,囧~~~那时更认为,C++学的是逻辑,MFC学的是记性,囧~~~难怪有人说MFC看起来跟C++没什么联系,看来这句话不是空穴来风。刚开始学MFC的时候,我发现自己又是在重新学东西,狂汗。有时候在写程序的时候觉得非常无助,根本不知道从哪里入手,那时老师告诉我们,务必要把WIN32编程的消息处理机制搞明白,那时有一些人对此不以为然,认为MFC是更高级的东西,不懂了我就死磕MFC,早晚会让我搞懂,我呢,老老实实地去翻WIN32编程的书,那时刚开始学MFC不到一个星期,别人都在看M,FC的东西,我就在网上不断翻Windows消息处理机制的文献,也许是没基础的人更看重基础,也许是由于我之前得益于C语言的基础,我对基础知识是如此重视。一个星期后,老师给了第一个作业:3天内写一个计算器,重点在于代码防错上,也就是加强代码的健壮性,一个下午的功夫我顺利完成了作业,这时我再次感受到了基础太重要了,舍本求末不管学习什么都是最不可取的。顺便说说上面标注的A君,他到我完成作业的时候还在写他的计算器,囧~~~~~~再到后来,我们开始学习多线程和网络编程,这时,我终于感受到了之前C/C++不是废的,而且几乎是关乎编写程序成败的根本,现在VCBase上面很多代码都是一运行就内存泄露,不过这估计是高手们懒得去理这个,只是演示各种操作和用法,但对于刚学多线程的同学来说,最重要的一个就是理清逻辑关系,防止内存泄露。网络这一块,API明显要比MFC的东西好用的多,之前我总是认为MFC可以完全取代API,使用起来也方便的多,原来不是如此,涉及到底层的东西,API才是王道。一个月的MFC学习很快也结束了,我妈问我学完是什么感觉,我很肯定地回答:这三个月比我四年大学学到的东西多得多。
总结:
别好高骛远,别舍本求末,浮沙上面盖房子最终带来只是房子的崩塌。在学习过程中,如果你愿意放弃睡午觉的习惯,你每天将比别人多出1小时的学习时间,3个月将多出90个小时的学习时间。仔细看书再写代码会让你觉得得心应手,稍微浏览书一遍就开始敲代码,不懂再查书会让你宝贵的时间不断流失。如果真的想提高学习效率,放弃电子书吧,电子书永远都无法替代实体书。别抱怨自己基础差,没有人生下来脑子里就装着C++。多一分耐心,就多一分效率。记得有人说:天才就是99%的汗水加3个俯卧撑,囧~~~~~~~~~~
好了,口水贴适可而止,希望凭此文广交IT界朋友,与菜鸟,傻鸟共勉之。最近要正式开始找工作了,本人目前在深圳,如果正在看本文的你觉得我是个可培养的程序员,并且你们公司需要人的,请联系我 手机:13824296562(惠州卡,找了工作就换深圳卡),QQ150262150 email:ameigame@126.com

附上本人三个月的学习成果:飞鸽阉割版
下载地址:http://download.csdn.net/source/1846832

因为开发时间不长,所以代码的健壮性还不是很好,正在逐渐完善中.......高手勿拍
实现的功能如下:
1、系统窗口打开后,实现系统托盘:点击右键弹出菜单进行网络相关选项设置,左键激活窗口(对话框);
2、保证应用程序只能运行一个实例(应用程序只能打开一个);
3、搜索局域网内部所有在线用户添加到对话框列表控件中;4、选中某个指定用户实现消息收发(UDP);
5、选中某个用户进行文件传送(TCP,多线程);
6、实现用户隐身或者离线状态的消息收发和文件传送,图标闪烁;
7、对话框上列表控件列可进行定制;
8、对于用户动态的上下线能自动检测到并添加到列表框中;
//附加功能
9、选中某个用户进行文件夹传送(TCP,多线程);

...全文
5204 192 打赏 收藏 转发到动态 举报
写回复
用AI写文章
192 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafeifeijiji 2012-05-08
  • 打赏
  • 举报
回复
三个月比大学四年学得还多,很刺痛人心的话。
镜埖清影 2012-03-17
  • 打赏
  • 举报
回复
不粗不粗
彭家老三 2011-11-05
  • 打赏
  • 举报
回复
(3/12)*1 > 4*0
xiaozhi276 2011-11-05
  • 打赏
  • 举报
回复
本人大二,迷茫中。。。。看完后觉得很赞,从今天起先学好手上的数据结构
花非花卍 2011-04-04
  • 打赏
  • 举报
回复
先顶再看
zhaojian812 2010-09-05
  • 打赏
  • 举报
回复
标记一下,楼主是在哪里培训的啊???

shenyuan2010 2010-08-24
  • 打赏
  • 举报
回复
我觉得只要下定决心要将某件事情做好,并为之付出行动就一定能做好事情。
QT风的季节 2010-08-20
  • 打赏
  • 举报
回复
看了一遍 又一遍, 真是鼓励人啊。
Alex_sxz 2010-07-14
  • 打赏
  • 举报
回复
强悍 现在看看自己能达到这效果不了
napoleongjc 2010-04-30
  • 打赏
  • 举报
回复
谢谢,楼主。
top7da 2010-02-27
  • 打赏
  • 举报
回复
哥顶你个,希望LZ继续,做个榜样
q313170768 2010-01-16
  • 打赏
  • 举报
回复
smart
zhouqi174 2009-12-09
  • 打赏
  • 举报
回复
牛人啊 学习
mm19850110 2009-12-09
  • 打赏
  • 举报
回复
LZ确实很强悍,这么短的时间内能够有如此成果
TurboC256 2009-12-06
  • 打赏
  • 举报
回复
囧~~~~~~~~
ryfdizuo 2009-12-04
  • 打赏
  • 举报
回复
天才就是99%的汗水加3个俯卧撑,囧~~~~~~~~~~
ryfdizuo 2009-12-04
  • 打赏
  • 举报
回复
up
iwillbeback43 2009-12-04
  • 打赏
  • 举报
回复
楼主,我看完后确实佩服你,我是这个专业的,大三了,学的可能没有你半个月学的东西多,汗一个
taohua300 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tcbhj 的回复:]
那只能说你3个月白学了

“稍微浏览书一遍就开始敲代码,不懂再查书”才是正确的学习方式
[/Quote]
做东西的时候也能从书上复制代码 ?!
moubo 2009-12-02
  • 打赏
  • 举报
回复
佩服,值得学习!
加载更多回复(170)

64,660

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧