[C++ Primer] 第十五章的句柄类

1 为什么要使用句柄类?   

    句柄?windows中的句柄吗?那不是一个整数吗?不是,当然不是。句柄类应该算是C++中的一种技术,一种管理指针的技术,一种实现面向对象编程的技术。

    为什么要使用句柄呢?

    多态性是C++中的一个重要概念,指的是程序在运行过程中可以根据对象的实际类型来调用相应的函数,当然,这种方式的实现要满足两个条件:一是函数是虚函数,二是以对象指针或者引用来调用。因此,要想实现多态性,就要用指针或者引用来调用函数。假设你需要保存一系列的“对象”,但是,你不知道对象的实际类型,该如何实现呢?定义对象的容器是不行的,不管定义基类类型的容器还是派生类型的容器,那样的话,在调用函数的时候就不能应用多态,调用实际类型相应的函数。那么,用指针呢?可以,但是管理指针是件很麻烦的事,用户必须保证,指针指的对象有效,删除容器时,对象自动撤销。于是,就有了“句柄”。

    句柄可以用来管理指针,以句柄代表的语义可以将句柄分为:指针型句柄和值型句柄。这里只讨论指针型句柄。

    这里的内容并非全部原创,部分内容来自C++ Primer,加上自己的一些理解,就当作是做笔记吧。

2 一个句柄类

    首先,给出一个句柄类的实现的例子

你可能感兴趣的:(C++,c++)