首页 >> 电子商务大学 >> 网站建设班 >> NET区
 
从C到C++——《C++语言的设计和演化》读书笔记(3)



从C到C++  
                                                                 —《C++语言的设计和演化》读书笔记(3) 


     不能说哪种语言取代了哪种语言,只是一种新语言的出现必然伴随着她的新的特征。从C到带类的C,再到C++,逐渐形成了一些新的语言特征:
     1.虚函数
     让C++高度抽象成为现实。也就是说我们不必关心派生类真正要去做的是什么事情,我们在父类中只定义了函数接口,把具体实现延迟到派生类中。这样做的好处是显而易见的,就像书中提到的一个例子:父类中定义了一个接口draw(),以后不管派生类要怎么“画”,只要在派生类内部定义了draw(),指定了自己“画”的行为,就可以沿着继承的层次关系找到派生类的draw(),尽管表面上看是调用父类的draw()。这样就能通过使用虚函数实现模块化。坏处就是使编译器的实现越来越困难了,其生成的代码也会变的相对庞大,以及效率上的影响。
     2.重载
     重载让语言变的简洁。一是使一些有相同含义的函数可以以相同的名字出现,区别就在于参数和返回类型;二是使用户自定义类型可以模拟内建类型的操作方式。在效率上,似乎对我们来说没什么影响:)
     3.常量
     尽量用const和inline而不用#define,这就是C++与C的区别。为什么要这样?我想<<Effective C++>>中条款1已经说的很清楚了。
     4.存储管理和类型检查
     这些都使得C++更加安全,<<Effective C++>>也有关于这两方面的论题。
     5.声明语句
     我觉得这是一个很大的改进,尽管Bjarne认为这是次要特征。学习C语言是,总是为变量没有声明而再回到函数开头去声明变量。关键还在于对临时变量空间的回收,这点好象在林锐博士写的<<高质量C++编程指南>>中提到过。




1
 
电子商务大学版权与免责声明:

 
凡本网注明“来源:35DX”的所有作品,版权均属于电子商务大学,未经本网授权不得转载、摘编或利用其它方式使用上述作品。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:电子商务大学”。违反上述声明者,本网将追究其相关法律责任。
凡本网注明“来源:XXX(非电子商务大学)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,同时,本站转载并无任何商业目的。
如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
联系方式:电子商务大学 webMaster@35dx.com