句柄(一)

提出问题:代理(见其它文章)提供了一个容器容纳对象时保持多态性的办法,但是它采用复制得到副本的方式,在复制对象开销巨大时或不可能时,需要考虑其它的方法。

解决方案:handle类(句柄类,又叫“ 智能指针 ”)

特性:

  1.  具备代理的多态性

  2.  只指向、不复制对象

  3.  无句柄指向对象时释放对象的空间

使用方法:

  1.  示例图

    

 

     

 

     

 

     注释:Point 是被指向的类,u是指向的次数(对句柄的计数,为 0 时释放掉对象,在析构函数中完成操作),handle 是句柄,被允许访问该类的成员函数,该类调用 Point 的函数以实现功能

  2.  过程图

    

posted @ 2021-09-03 22:33  孱陵  阅读(36)  评论(0编辑  收藏  举报