《大规模C++程序设计》读书笔记20

提供给最终用户的编程接口,应该符合以下需求:

  1. 接口必须提供必要的功能来操纵基础系统。
  2. 接口一定不能暴露私有实现细节。
  3. 基础组织的变化必须与客户程序绝缘。
  4. 与该接口相关的开销一定不能过大。

定义36:handle是一个类,维持一个指向一个对象的指针,该对象可以通过handle类的公共接口编程访问。

原则64:在一个过程接口中,使客户程序只显式的析构那些他们显式创建的对象,可以减少所有权关系上的混乱,并且可以提高性能。

原则65:尽管计算机体系结构和编译器各不相同,但是下列的规则可以帮助系统结构设计师决定:在设计的早期,是否绝缘以及如何绝缘。

    ----------------------------------------------------------------------
    访问                                                单独访问的相对开销
    ----------------------------------------------------------------------  
    借助内联函数通过值                                           1
    借助内联函数通过指针                                         2
    借助非内联、非虚拟函数                                      10
    借助虚拟函数机制                                            20
    创建                                                单独分配的相对开销
    ----------------------------------------------------------------------
    自动化                                                     1.5
    动态                                                      100+
    ----------------------------------------------------------------------
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俞凡 DeepNoMind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值