基本语言细节--《深度探索C++对象模型》--(4)The Semantics of Function-总结点

                基本语言细节--《深度探索C++对象模型》--(4)The Semantics of Function-总结点

1.Member 的各种调用方式

  (1).非静态成员函数调用:

   C++设计准则就是非静态函数的调用效率至少和一般的非成员函数有相同的效率。其实,编译器对C++的成员函数,进行了一系列的处理,使得最后,一个成员函数成为了一个外部函数,以extern说明,并经过name-mangling,添加额外的参数。

  (2).虚拟成员函数调用:

  通过由编译器产生的虚函数表指针,以及虚函数表中的slot 索引值,来关联实际的运行中的函数,进行调用;(可参照之前的文章)

  (3).静态成员函数:

   不需要类对象便可调用。其特性为不能直接存取类中的非静态成员,不能为const ,virtual。

  (4).inline 函数:

   其只是一个申请。由编译器决定是否inline.并且在扩展操作时,会带来参数求值操作以及临时性对象的管理。这些都是由编译器在内部完成的!!!故而在构造函数中不要用inline,你不知道继承层次有多深。

卧浪居士 于HUST2.13.11.20


卧浪居士

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值