您的位置:首页 > 编程语言 > C语言/C++

C++学习阶段分析

2009-03-26 15:15 225 查看
C++学习阶段分析
今天终于看完了给自己列过的c++书单,有一种如释重负的感觉。同时也让我认识到了c++的博大精深。以前用VC编程,写窗体程序以为自己对c++就很熟悉了,现在想想当初的天真真是惭愧。下面我结合自己学习c++的过程,谈谈对c++语法学习的感悟。
一、C++广为人知的一半
面向对象是C++广为人知的一半,但如何学好它,却不是一件容易的事。
1、入门阶段
抽象,继承,多态是很多刚开始学习c++的人对c++的认识。对于抽象,继承,比较容易了解。而多态,则让很多人认为神秘莫测。我想每一个学习c++的人都会在开始时对c++的多态有这么一种神秘感。
看看这个阶段的书籍,找一本市面上讲C++语法的书籍,同时附上C++创始人Bjarne Stroustrup执笔的鸿篇巨制:《The
C++ Programming Language》。之所以要从一本容易的C++语法书开始,是为了保持我们的信心。有了一定的基础后,不要一叶障目不见泰山,我们该去看看C++创始人Bjarne Stroustrup执笔的鸿篇巨制:《The
C++ Programming Language》。这本书对C++的所有语法进行了系统的介绍,高屋建瓴的介绍了C++语言,这也是为啥不一开始就看这本书原因。牛人的书意境是很深的,要有一定的功底才可以看的懂。好了,看了这本书后,我相信你不会和我再犯同样的错误了:学了一本C++的语法书,懂了抽象、继承,多态还蒙着半层面纱就敢说自己熟悉C++了。因为你知道c++除了抽象,继承,多态这些面向对象的性质之外,还有就是和面向对象相对的泛型编程:C++模板编程。好了,我们暂且不要好高骛远,先把这些基本的搞定再说。
2、熟悉阶段
我们入门了。如果你想有所作为,那你就不要停下脚步。古语日:“书读百遍,其义自现”。但在程序设计的世界里,书是要读的,但仅仅读书是不行的。我们还需要实践,对,写程序。有了对抽象,继承,多态的认识,我们就可以用面向对象的思想进行编程了。当然了,面向对象的思想不是容易掌握的,我们要在写程序的过程中不断的体会,琢磨。当你写程序到一定的数量的时候,你会发现自己犯过很多错,有一种将这种错误分门别类的想法。恭喜你,你升级了。
3、提升阶段
不烦你将自己犯过的错误分门别类了。因为前人已经进行了总结。这时你就奇怪了,既然有前人总结的经验,你为啥不在我犯错之前告诉我呢。很抱歉,不是我不愿意,因为在你犯错之前如果我禁止你这样,禁止你那样,你会觉得自己无所适从,不知道该如何去写程序了。同时你也不会明白为啥不能那样做。好了,有了犯错的经验,我们可以去看前人总结的犯错宝典了。第一本书: 《effective c++》,前人总结的50条c++编程法则,没编过程序的人不要去看。第二本书:《c++编程思想:第一卷》从思想上指导我们进行c++编程,为我们后期的学习做准备。
4、揭开C++多态的神秘面纱
总结了错误的法则,有了编程思想的指导,你是不是想试试你的功底了。是的,我们该检验我们的思想是否到家了。如何办:做项目。好的,那就做吧。当你做项目的时候,你学会了用虚函数,学会了C++的多态,但是你想了解这多态到底是如何实现的,它神秘的面纱后面到底是啥。这个时候,它可以满足你的要求:《深度探索c++对象模型》,它从编译器的角度,讲叙了C++多态的底层机制。当然它还包含其它精彩的内容,是不是等不及了,那就去读它吧。

二、C++被人忽视的一半
也许揭开c++的神秘面纱之后,你会认为自己已经了解了C++的所有语法了。我想在入门阶段读过《The C++ Programming Language》的人,他们很清楚自己现在还只是站在C++圣殿的半山腰上,前面还有更高的意境等待着我们的思考。革命尚未成功,同志仍需努力。
1、泛型编程入门:
也许你会说,泛型编程离我太远,我没用到。呵呵,这就是你不知情了吧。要知道,C++中我们使用的很多库,都是由泛型编程来实现的。我们编程用到的IOSTREAM,就是一例。当然了,最有名的要数我们的STL标准模板库了,你要知道C++98标准可是因为它推迟了几年才出台的,要不可能就叫C++94标准了。从这里可以看出C++泛型编程的重要性了吧。好了,下面开始好书推荐:《c++
templates》,绝对是将C++泛型编程的语法讲的最清楚的一本书,不过不适合初学者,但到现在我也没有找到一本更合适的入门书籍,那就从它开始吧。
2、泛型编程进阶:
开始了,我们要走出泛型编程的第一步。是不是我们该动手开始写泛型程序了,且慢,不要着急,我们先看看前辈们的作品。用一下STL标准模板库,没用过别告诉我你用C++写过项目。先推荐几本好书:《c++标准程序库》,模板编程的最成功作品。去看看这本书吧,里面有很多实例,可以边看边写程序。《SGI STL源码剖析》,向专家取经,学习内存管理,算法,数据结构泛型编程的技法。
3、泛型编程提高:
有了前面的基础,我们在来看看泛型编程的进一步发展。《泛型思想》,一探泛型编程的宏观和微观。《多型与虚拟》,泛型和面向对象的完美结合。
三、C++的统一
好了,经过上面的两个阶段,我们基本学完了c++的语法。下面我们来看看,通过c++可以实现啥。
com一个更好的c++。
你想进一步提升自己的实力吗,你想成为c++的精通者吗。那就学com吧。也学你认为com过时了,没用了。告诉你,那是浮躁的人说的话。有一句话讲的经典,流行不是用来追的,而是用来等的。还告诉你,windows系列操作系统,com无所不在。微软的技术具有传承型,由VC到.net,他们之间有联系,当然更有进步。由com,dcom到com+,他们是一脉相承的。VC中就不说了。.net框架中其逻辑层就包含有.net中的企业服务(com+)。好了,下面我们看看com的学习过程把。
1、Com入门:
Com是一种思想,不是一种编程语言,在这里谈论它是因为我们要用C++将这种思想实现。在实现的过程中,我们可以从二进制级别来研究C++对象在内存中的布局。好书推荐:
看过《深度探索c++对象模型》的同志,恭喜你,可以直接看有关C++进行com编程的书籍了。否则,回去看过《深度探索c++对象模型》再来。《Inside
com》,一本讲叙com基本原理的书,配有丰富的实例,很不错。《Essential COM》以C++为引子,从本质上解析com的实现,迄今为止,将com解析的最透彻的一本书。
2、实战com:
深入解析ATL》,将C++泛型编程和面向对象编程结合的典范,简化了我们用C++开发COM的流程。

经过三个阶段的学习,我们对C++有了充分的了解。下面我们就享受它给我们带来的乐趣。COME ON , ENJOY
IT.

附书单:
《The C++ Programming Language》
《c++编程思想:第一卷》
《c++编程思想:第二卷》
《c++标准程序库》
《effective c++》
《more effective
c++》
《STL源码剖析》
《c++ templates》
《泛型思想》
《多型与虚拟》
《Inside com》
《Essential COM》
《深度探索c++对象模型》
《深入解析ATL》
《深入浅出MFC》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: