c++学习之路(转)

 经过十分漫长的C++学习过程,我总算完成了我自己的C++心愿,看完了我想看的所有C++书籍,回顾我C++的整个学习过程,颇有一些心得和经验,希望与各位分享,也希望给正处在摸索学习阶段的XDJM一点学习参考。
    教材的钱能的《C++程序设计》,这本书其实还是很不错的,不过很多看了两本名著的朋友都对这本书嗤之以鼻,也许是我天生很笨,在我看完了《C+ +PRIMER》后还经常番看《C++程序设计》。《C++程序设计》虽然出书的时候ANSI C++还没有确定下来,不过它还是含盖了C++所有语法,建议对C++感兴趣却又没有任何基础的人先从这本书开始,简单而高效,不要认为人家一上来就看《C++ PRIMER》或是《the c++ programming language》就觉得自己的档次很低,你要确信,你肯定能超过他!这本书课后习题在我看来是典型的结构化编程,即使到了CLASS,也全部可以用 STRUCT代替。不过在这个阶段做习题十分必要,用处我不想敲了,推荐使用的编译器就是书中所说到的编译器(我忘记叫什么了:P)看完之后,如果你想说 C++很简单的话,建议你在看完了《C++ PRIMER》或是《the c++ programming language》之后再说。这两本书都是基于标准C++的,十分苛求的说,后者对标准的兼容性稍差:)。对这两本书,我的看法是,如果你确实想仔细的学习,建议你看《C++ PRIMER》,如果你想跳过我将要写到的下面两本书的话,建议你看《the c++ programming language》。对这两本书,前者最高到中文第三版,因为第四版,后者到特别版。对于前者,我看后的感觉是它的优点在于解析,特别是函数,类,模板的解析,但是它并没有含盖C++的方方面面,后者就不是这样。实际上我并没有仔细看过后者,只是同学总是拿这本书上的问题来与我商量,所以有机会偷窥了几眼。暂定你选择的是前者继续学习,在看完后,也许你用C++编制普通的程序已经能够运用自如,但是你仍然应该会有很多问题和遗憾,比如,类继承,虚拟继承,类访问控制,类继承下的访问控制,还有虽然我已经对如何解析十分清楚,但是我仍然感觉我对语法掌握得不系统,遗憾的是,书中出现了很多的库函数,我为什么都不知道?这个时候建议你看看《标准C++宝典》,这本书对于语法正所谓事无巨细,一一道来啊,再就是回顾一下《C++ 程序设计》(钱能),对类的部分讲解的还是十分精辟的。在掌握了一切牢固的语法基础之后,我选择的下一步不是STL,而是IOSTREAM,原因之一是因为《C++ PRIMER》并没有把这一部分讲述的很好,对了,《C++ PRIMER》也没有把STL讲述的很好,所以我看《C++ PRIMER》的时候这些章节都跳过了,我的目标是不求知道,只求精通。对于IOSTREAM,我选的书是《Standard C++ IOStream and Locales》,我当时还是看的E文原版,事实证明,我错了,这本对于当时的我,难度突然拔的太高,所以在看完了第一章之后我就放弃了,只是暂时的搁置下来了。对了,忘记说,对于《C++ PRIMER》或是《the c++ programming language》的学习,你应该十分认真的选择编译器了,我推荐3个首选dev-cpp最高4.9.9.2,然后是vc.net(千万看清楚,不是 vc6.0!),最后就是borland c++ builder-X,具体我就不介绍了,相信你学习到这一步,自己应该已经掌握很多的信息了.继续,下一步,我的选择是〈深入探索C++对象模型〉,我是在图书馆借阅的,现在也有电子版了,不过我看了以下,效果一般,但是可以和E文原版的电子版一起看。这本书看完。如果你是跟我一样,把《C++ PRIMER》翻烂掉,能把《深入探索C++对象模型》的知识要点全部背出来的话,我恭喜你,你的C++水平已经到中级了:)接下来,我的选择是对C++ 这门语言为我提供的所有服务设施通透的学习一边。说穿了,就是库函数,C++库函数分两部分,一部分来自C语言,一部分就是STL,对于C语言部分,我建议你可以买一本C++函数库的书,最近好象刚出了一本,不过我还没有机会看,我看的是〈C和C++代码精粹〉,里面把C语言部分的库函数分为3类,这本书我也就看了这3个章节,其他的东西我知道,看他做甚?而对于STL,你如果真想成为C++出类拔萃的高手,你应该看3本<<C++标准程序库 >>  <<泛型编程与STL>>   <<STL源码剖析>>,第一本主要讲的是如何使用STL,第二本将STL的一些设计理念,并指导你进行泛型设计,所谓泛型说穿了就是指模板。看完这些书,如果你跟我一样,可以把STL全部重写一边的话,那么恭喜你,你已经成为C++准高手,这个时候我的选择是回过头去看《Standard C++ IOStream and Locales》,呵,现在才发现原来这本书这么简单!简直是naive!其实,我现在最想做的事情就是能够把IO全部重写一边,不过还没有找到合适的编译器下手,感觉应该用GCC比较好,还没开始研究,我也不清楚。好了,既然这么多本讲述C++技术的书籍你都搞完了,也不在乎多两本吧,呵呵。知道你应该看什么吗?你应该看看<exceotional c++>还有<effective c++>,这两本书都有more版,不算太难,最后可以看《高质量C++编程》,最后有一套练习题,做做,小菜一样。接下来我的选择是<C+ +编程思想> 〈设计模式〉〈大规模C++程序设计〉(最后一本我最近才看完:P)这3本书可不讲什么语法,第一本实在没有必要介绍,似乎每一种语言的编程思想的的书籍都是说的如何用这门语言编程,第二本其实并不能说是针对C++,所有语言通用的一本书,关键是程序设计的方式,第三本被称为〈设计模式〉的C++实践篇,其意义毋庸多说。看完了吗?好吧,你应该选一个项目锻炼一下。如果你能在一个月内看完这所有的书,欢迎你加入ISS_SQL开发团队,这个就是我近期想做的事情,我就是想写一个自己的数据库。不过如果你不是外星人的话,我估计你不可能在一个月的时间内,看完我看了2年的书。对于我刚才说的SQL,我还在选人,说实在的,现在我的同学里,真的是没有几个人的技术能让我看的上的,哎,得一知己难啊!还是继续说编程,这个时候,你已经有了顶级的C++基础,想学什么不容易?JAVA,你学了一个月??开玩笑,我看了一个星期的书就开始做项目了!其实我觉得到了这个时候是一个面临选择的时候,一个是做UNIX下的开发,一个是做WINDOWS下的,不过我选择了第三条路,也就是我正在学的,算法,因为我的导师正在做973计划中的数据挖掘项目,所以我也沾光,因为是基与 weka,所以我用java,这个B语言真弱智,我已经开始讨厌JAVA了,所以我才想用C++重写一个WEKA类的开源软件,不过我感觉用java写算法,的确不错。前段时间,我一个同学为了一个C#问题苦恼,问题粗略说来是GIS设备返回串,要进行处理,提取数据,因为串本身的复杂性,具体是怎么样的我也不知道,因为他的这个是商业项目。这个问题在C#下十分困难,连正则表达式都无能为力,所以我给他的建议是写一个自动机,也不知道他最后的处理方式,不过在java下,呵,大概不超过五十行代码吧。说远了。
     最后说说人的问题。有一点点浮躁的人建议你千万别想学C++,直接学VB或者C#算了,希望在浩方有个排名的人,我直接告诉你,你不应该学C++。
     关于C++的学习,我就说这么多,其实也感觉没有说什么,只是把我学习C++看的每一门书都罗列出来,虽有显摆之嫌,但也确实希望给那些如曾经的我一样迷茫的摸索者,那些希望学习C++且追求完美技术的人指一条明路。简单的说,你认真看完我上面说的所有书,你就是C++高手!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值