不知道什么时候被人建议过,有空的时候不要光埋头看书,隔断时间总结总结最近的成果.哪怕只是流水帐的一般,也对自己的学习有帮助,还可以记录下自己成长的脚步.自己觉的,可以记录自己很多现在的想法,这些想法随着学习可能会消逝,可能会遗忘,写下来放在这里,给自己参考,对别人能有帮助更好.希望看到的人,别吝惜自己的话,多交流.
从2004年9月开始上C++这门课到现在4年多了.其实C++几乎可以说学的一塌糊涂,除了当初考程序员的时候写了个找瑞年的代码,这么多年都没有写过什么代码。4月份复试结束后,和导师交流的时候,导师建议熟练掌握门语言,当时就想到了C++。
选它,不是因为学过它,C#我也学过,费的时间也不少,但是我不敢说我会用。C#本身不难,可能是因为我一行代码都没有在自己的机器上运行过吧,浪费了那么多的笔记了,就找工作的时候用上了点。一方面是因为其功能强大,一方面是因为自己这么长时间都没有弄明白的东西,再不弄好有点说不过去了。
所以4月份就开始着手学习VC++。当时是因为朋友有个小项目需要动手,让我练练手。其实就是界面加数据库吧。但是最后项目也泡汤了。我真正在家看书,写代码,也就是到7月左右,就彻底堕落了,吃了睡睡了吃,然后就是上网,一大堆书也没有看多少。从那扔下以后,就没有怎么再看了。就是孙鑫老师那本书,那本书做培训用,绝对很好,对于初学者来说也很不错,但是作为现在用,有点太浅了。后来改用了本国外的教材,看了部分后也停下了。我理解应该不算是放弃,算是调整方向。
原来我的学习是,除了上课以外,读英文版的本研究方向的书,一方面就是学习VC++编程。后来觉得C++的东西知道太少,实在进行不下去了,所以才挺了下来。而且我的方向是软件工程,读太多的理论太强的书的话,没有实践也不行。这时候其实才读第二本英文原版书,读了有200多页。以后可以慢慢把这些东西穿插起来进行。
所以10月底,具体说就是10月25号心血来潮,就去买了套《C++primer》第四版,中文版的。其实在这之前,因为查找东西,看过别人的第三版的几次,觉得很不错,很全面,介绍的也很容易理解。想通过这本书对C++有个初步的认识,然后不断的去深入学习,最后再涉及到平台的学习,如果不原意在Windows平台下,还可以在Linux平台下,反正标准C++是一样的。
到今天,11月30日为止,完成了该书的第一部分--基本语言的内容的学习。开始容器和算法的学习。在这一个多月的学习过程中,给人印象最深刻的内容应该是标准库的内容,这部分原来的C++教程都是没有提到过的。当然还有很多东西,虽然基础语言这部分再三学习了,但是读这本书的时候,还是总是给人惊喜的,总有自己以前总遇见,但是没有搞明白的。比如:动态数组、try、const限定符、return的应用、静态局部对象、内联函数、标准IO库等。但是其实有些内容介绍的有点少,有些内容自己也不是太明白。比如try语句,感觉介绍的有点模糊,内容也少,自己也不是太明白。标准IO库,也没有完全搞清楚。
函数的参数传递这部分,让我对引用的认识提高了不少,也对我对指针的理解更深了一点。尤其是把指针当作参数传递的时候,到底是怎么样一个情况。就比如那个交换两个数的函数,如果传递的是指向这两个变量的指针的话,即使最后顺利交换成功,但是两个传递的指针的内容其实是没有改变的,只是这个地址上存的数据交换了而已。并没有通过形参来改变实参。如果想通过形参的改变来影响实参,只有使用引用类型了。所以指针传递属于非引用传递。指针在非引用类型里也算是比较特殊的,很多特殊的场合可以用它来实现。
还有一个感触比较深刻的就是,边读书边做课后的习题。据说这本书的课后习题很经典,现在看来确实是。不管是理论内容,还是需要自己编写代码的都是。感觉很明显的就是,在不断的写代码的过程中,自己对课本内容的理解比只看书深刻多了,而且掌握的很牢固。应该在不断的写代码的过程中提高自己的编程能力。这可能也是以前学的编程语言一直学的不好,并忘得差不多了的缘故。所以,在以后的学习中,更要注重实践。
要务实。