学习c++过程中的迷惘
jhyu 2003-08-29 09:33:28 我非计算机专业,从大一开始自学计算机专业的核心课程。接触的第一门课程就是c++,用的是钱能的那本教程。然而那时把重点放在了面向过程程序设计的那一部分,以能更好的学习数据结构和算法分析,对c++的面向对象程序设计只是做了一下简单的了解,只能做到有语法参考手册的条件下看懂c++程序。至于stl方面,根本不知道怎么回事
到了大三,基础理论有了一定的掌握之后,开始学习vc。在不断的copy,调试过程中,并没有注意到mfc本身是如何运用c++组织的,因此印象中c++仍然是那些比较模糊的印象:类、对象、继承,输出可用标准cout而不是printf。。。
大三寒假,买了一本裘宗燕老师翻译的the c++ programming language,从第一章开始看起。然而整个寒假下来,虽然看了除标准库和软件工程之外的部分,但很多方面还是一知半解。
大三下学期,有感于c++之难(可能受了tcppl这本书的影响),暂时放下了那本书。开始研究基于nt技术的windows os(nt/2k/xp)内核原理,尝试开发file system filter driver。激情过后开通校园网,自此泡网三个月,直到暑假
暑假突然感觉自己太过于浮躁,决定重新继续学习c++。在 c++ primer 和 tcppl这两本书中我还是选择了后者(主要原因是感觉c++ primer实践性的习题太少)。把将述基于对象和面向对象程序设计的第二部分“抽象机制”又看了一遍,做了不少笔记,感觉回忆起了不少东西,而且理解了不少东西(虽然还是有些东西不太明白)。
但是突然发现,虽然可以看懂除 运用了标准库 之外的c++程序,但是一旦要我自己编写c++程序,却变得非常差劲,甚至连string类字符串到c-style字符串的转换都不会写。
我知道学习任何一门语言,实践都是非常重要的。但是我找不到适当的机会来实践。想做书本上的习题,苦于没有答案(买不到那本习题解答)。想在学习vc过程中实践,mfc已经准备好了一套庞大的类库,atl又不够水平编写。
十分迷惘,请高手指教该如何实践