假设在您的C++代码库中,无论出于什么原因,您必须使用介入式引用计数。我听说并看到了通过实现多个干净的、定义良好的接口来提供其功能的类的许多优点。也就是说,它们应该继承自定义接口的抽象类。
实现介入式引用计数的一种常见方法是从提供引用计数实现的基类继承。这必须是基类,所以你要进入菱形继承,这看起来有点过于复杂了。有没有更好的方法?
在不使用介入式引用计数的情况下,这似乎微不足道。有人在做这种介入式引用计数和继承多个抽象类的组合吗?
发布于 2013-07-13 19:22:55
是的,你可以做到的!在Loki模板库中有一个很好的示例,如何为用于覆盖MS COM接口指针的SmartPtr引入这样的策略。
在SmartPtr.h中查找类COMRefCounted。
https://stackoverflow.com/questions/17629388
复制相似问题