在正式开学的前半个月,听说那里的学员大部分是计算机专业出生的,于是乎,我开始预习,听说谭浩强老先生是中国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,显然这东西没有任何商业价值
还有一个不得不说的,学C++的时候,千万别吝啬买书的钱,确实现在网上有各类电子书,但是电子书龟速的学习效率,是永远都无法与纸张书本相比的。查询的时候也许电子书很不错,但学习的时候实体书本才是王道。
|
|