加上封装后的布局成本

member function虽然含在每个class object之内,却不出现在object之中。每一个non-inline member function只会诞生一个函数实例。inline function则会在其每一个使用者(模块)身上产生一个函数实例。(函数体的替换)
封装并未带来任何空间或执行期的不良后果。C++在布局以及存取时间上的主要的额外负担是由virtual引起的,包括:
1. virtual function机制 用以支持一个有效率的“执行期绑定”(runtime binding);
2. virtual base class 用以实现“多次出现在继承体系中的base class,有一个单一而被共享的实例”.

此外还有一些多重继承下的额外负担,发生在“一个derived class 和其第二或后继之base class的转换”之间。然而,一般而言,并没有什么天生的理由说C++程序一定比其C兄弟庞大或迟缓。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值