学习C++的一点体会

其次,教材很重要,要看经典名著,而且如果英语好,最好看原版英文教材。
经典之所以成为经典,是因为经历了考验沉淀下来的东西。去年9月份,当我打算转向C++的时候,曾向我一位同事咨询,他向我推荐了《C++编程思想》,还说叫我一定要读。当我读完前面三到四章的时候,就发觉自己找到了感觉。接下来,我一口气读完了整本书,当然其中很多东西还是无法真正理解,这是一本很深邃的书。废话少说,我现在把我自己看过的C++参考书籍列出来:

1)《C++入门经典》,原名《The C++ Language Begeining》,作者Ivor Horton 此书浅显易懂极适合入门,书中包括最基本的程序设计知识,例如基本数据类型,流程控制语句,函数设计。即使没有任何程序设计基础的人,看着也不觉得累。书中一些很有特色的事例,能促进和加深读者的理解。但此书的代码风格实在有些糟糕。

2)《C++编程思想》,原名《Thinking in C++》,作者Bruce Eckell, 此书的名气就不在这里说了.此书最新版本(第三版)开头部分增加了几章讲C语言的部分,然后把读者逐渐引向C++,在讨论语言的一个特性时,往往总是先讲解在C中的解决方法,然后讨论这中方法的局限和不足之处,再讨论C++中的解决方法.据我的感受,此书作者的初衷是引导C程序员走向C++,但后来发现大多数新生代程序员,非美国的程序员不一定懂C,于是就在第三版中加入了介绍C的部分. 此书最大的特点是, 作者善于透过语言现象,看看屏风后面究竟发生了什么(例如,显示出生成的汇编语言).消化好这本书,C++水平上一个大台阶;

3)《C++高效编程》,原名《Effect C++》。此书重点探讨C++的一些技术死角,我只看过其中很少的一些章节,在此不作过多评论;

4)《C++ Primer》,作者Stanley B.Lippman,此书还没有读过,接下来读这本书。我在网上找了一点对此书特点的描述:对C++基本概念和技术全面而且权威的阐述,对现代C++编程风格的强调,使本书成为C++初学者的最佳指南;对于中高级程序员,本书也是不可或缺的参考书。第4版不再强调低层编程技术,而把中心转向标准库的使用。书中很早就开始介绍标准库,示例也已经重新改写,充分利用了标准库设施。我们也对语言主题叙述的先后次序进行了重新编排,使讲解更加流畅;

5)《C++编程语言》,原名《C++ Program Language》,作者乃C++的发明者被誉为C++之父的Bjarne Stroustrup,此书我只读了一部分,说实话,有些难。此书的作者就是C++的创始人,发明者,知识非常渊博,其思想深度远远在前面几位之上。如果你想知道C++究竟能做什么,C++那些希奇古怪的特性为什么那样设计,那你就去参考这本书。另外,阅读此书时,你还会为作者那种深邃的思想,博大的胸怀感觉到一种发自内的快乐,舒畅。书中还讲到了很多大型系统设计的方法和技巧。总之,不读此书,是作为程序员的一大遗憾。我建议先阅读《C++编程思想》,再参考此书。因为《C++编程思想》的作者说,他写这本书的目的就是为了大家能够参考《C++编程语言》这本书;

6)《C++高质量编程》,作者林锐。此书不属于经典名著,但我也比较推荐这本书。作者不象国内其他作者那样迂腐功利,而是从一个程序员的角度,介绍他在以往开发过程中遇到的问题和积累的经验,这本书很薄,但其中的思想方法很有用。且语句诙谐幽默,阅读起来很轻松;

任何一本书,都有他的可取之处;任何一本书,都无法解决在学习中遇到的所有问题;任何一本书,都无法替代人的智慧和经验。但是好的教材,可以起到好的指导效果,可以使学习少走弯路。但我不怎么建议看比较薄(600页以下)的书,因为对于C++来说,这样的篇幅根本就说不清楚,也不建议看国内作者的教材,你发现大多是从上面所说的书中抄下来的。

4。C++和VC的区别
目前我们所说的C++,通常意义上指标准C++,就是美国C++标准委员会发布的C++。它定义了一些基本的语言规范语言特性,定义了一个框架,还有一个标准库。虽然产生于UNIX下,但它不属于某一个平台,某一个厂商,某一个编译器。它是一种统称,一种概念。VC是微软公司在WINDOWS平台下的一种开发工具,本质上和VB,C#没有什么区别,只是较之底层一些。VC支持标准C++,但不百分之百支持。一般来说,学习C++可以使用VC的编译环境,但是必须要使用标准库。还有其他一些C++编译器例如C++ BUIDER,就是Borland公司生产的WINDOWS下的C++编译器,GCC是LINUX下的常用的C++编译器。估计在苹果机下也有相应的C++编译器,因为C++处理图形系统是其特长。

要学习C++,就不要从VC学起,学习VC无法学到真正的C++编程思想,而你只是学会了使用类库而已。C++的特性是什么?C++本质是什么?C++的精华是什么?我觉得总结成一句话:利用面向对象的思想,解决大型系统的开发问题。

5。学习C++的重点
如果你学习过C或者了解C,那么在学习C++的时候更容易受C的影响,记住,C是面向过程的语,C++是面向对象的语言。如果你学习过C,那么学习C++的重点是掌握C++的新特性,C与C++的区别,C++的面向对象特性,尝试用C++的风格去编写程序,用C++的技术去解决问题。或许你认为C很不错,但在C++可能有更好的解决办法;

如果你学习过JAVA,C#或DELPHI,那么你应该对面向对象机制很熟悉。但是,C++中的面向对象机制和上述几种语言有所区别,例如多重继承。最好尝试在没有用户界面的环境下编写程序,还有,指针是C++的精华之一,所以必须掌握;

如果你没有编程基础,那就直接从C++学起,这样就没有其他语言的干扰和影响。祝贺你,一开始就接触了这样一种伟大的语言;

我觉得,C++的重点可以用三个词来描述:指针,面向对象,标准库。

最后,在这里同所有学习C++的程序员共勉,不要担心学习C++会被淘汰,我所在的单位还有大量的Informix程序员,而且日子过的很舒服。我小时候学书法,老师常对我说一句话就是:字写的好,哪怕拿一根筷子在嘴巴里咬几下,都写的好看,而不在于用什么笔。用C++之父Bjarne Stroustrup的话来说:只要你在使用电脑,你就直接或间接使用了C++。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值