句柄类的与句柄类相关的类
代理(surrogate)类,又称委托。(后续完善 )
这篇关于句柄类的介绍,在理论部分还是挺不错的,但举的例子就不敢恭维了,UPoint类的目的是从Handle类中将“引用计数”功能分离出来单独实现,让Handle类专注于实现“内存管理”功能,因此UPoint类必须能够实现自动计数,而不应该在Handle类中再来对其加减。
上面分析结果的最后一段:
~Handle! //val句柄类对象;val(100,34) ~UPoint! ~Point! ~Handle! //tmp句柄类;tmp(23,34) ~UPoint! ~Point! ~Handle! //只释放了一个句柄类Handle的指针,没有实际对象; 请按任意键继续. . .
分析有误,改为:
~Handle! //val句柄类对象;val(100,34)
~UPoint! //temp指向的UPoint对象
~Point! //temp指向的UPoint对象的内嵌Point对象
~Handle! //tmp句柄类;tmp(23,34)
~UPoint! //val和h共同指向的Upoint对象
~Point! //val和h共同指向的Upoint对象的内嵌对象Point
~Handle! //释放h句柄类