网站建设 6万贵不贵,网站如何建设成直播间,免费的软件大全下载,宁波好品质品牌网站设计哪家好对于某些类来说#xff0c;能够避免复制是很有好处的#xff0c;比如某些对象会很大#xff0c;复制起来消耗太大#xff0c;这时就可以通过 句柄#xff08;Handler#xff09;的类来实现#xff0c;它允许在保持类的多态的行为的同时#xff0c;还可以避免不必要的复… 对于某些类来说能够避免复制是很有好处的比如某些对象会很大复制起来消耗太大这时就可以通过 句柄Handler的类来实现它允许在保持类的多态的行为的同时还可以避免不必要的复制。 句柄类的实现方法: 为了避免不必要的对象复制也就是说允许多个句柄绑定到单个对象上否则就很难把句柄作为参数传递函数因为那要求复制句柄而不复制对象。因此我们必须了解有多少个句柄绑定在同一个对象上只有这样才能确定应当在何时删除对象通常使用“引用计数(use count)”来达到这个目的。 引用计数应该放到何处呢 1.不能作为句柄的一部分因为这样的话每个句柄都必须知道跟它一起被绑定到同一个对象的其他句柄的位置唯有如此才能更新其他句柄的引用计数数据 2.作为对象的一部分这样就要求我们重写已经存在的对象类 3.定义一个新的类来保存对象和引用计数可以考虑 4.在句柄类中保存引用计数的指针地址绑定到同一个对象的句柄指向同一个引用计数值 5.单独抽象出引用计数类为句柄类提供接口终极方案 使用句柄类时还必须关注一个问题当对句柄所绑定的对象进行修改时句柄的语义就分为值语义和指针语义 值语义修改句柄绑定的对象时另外再创建一个对象绑定到该句柄然后在新对象上修改使用写时复制copy-on-write 指针语义直接修改句柄绑定的原对象指针的作用 具体实现请参考C沉思录