从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++编程指南>>中提到过。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值