c++深入专题1--句柄

本文深入探讨C++中的句柄技术,解释句柄如何解决面向对象编程中的问题,通过句柄实现动态行为,以及带来的优势,如尺寸固定、运行时绑定、减少重新编译等。同时,介绍了计数器在句柄中的作用,以及写时复制策略,强调句柄在隐藏设计和优化赋值操作中的角色。
摘要由CSDN通过智能技术生成
 

 1、句柄的引入

c++中面向对象编程的一个颇具讽刺意味的地方时,不能适用对象支持面向对象编程,相反,必须是使用指针或引用。为解决此问题采用一个通用的技术是定义包装(cover)类和句柄(handle)类。句柄类存储和管理基类指针。指针所指对象的类型可以变化,它既可以只想基类类型对象又可以指向派生类对象。用户通过句柄类访问继承层次的操作。因为句柄类使用指针执行操作,虚成员的行为将在运行时根据句柄的实际绑定的对象类型而变化。因此,句柄的用户可以获得动态行为但无须担心指针的管理。从概念上来说,句柄时一个指向c++对象的指针。我们使用术语“句柄”的原因是:句柄本身也可以时某种c++对象,它可以用来提供指针一致的功能。

2、句柄可以给我们带来如下的好处

1)、我们可以在实现中用尺寸大小固定的对象来表示尺寸大小不定的值。

2)、我们可以在实现中用运行时绑定而不是编译时绑定的方式来处理对象。

3)、对于实现的改变通常只会引起一次重新链接,而不是重新编译。

4)、我们可以对他人隐藏对象的实现

3、使用计数器来避免多份拷贝。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值