假设出于某种原因,您必须在C++代码库中使用介入式引用计数。
我听到并看到了通过实现多个清晰定义的接口(interface),类提供其功能的许多优点。也就是说,它们应该从定义接口(interface)的抽象类继承。
实现侵入式引用计数的一种常见方法是从提供引用计数实现的基类继承。那必须是基类,因此您需要了解菱形继承(钻石问题),这似乎有点过于复杂。有更好的方法吗?
当不使用侵入式引用计数时,这似乎是微不足道的。
是否有人在进行侵入式引用计数和继承多个抽象类的这种组合?
最佳答案
是的,你可以这么做! Loki模板库中有一个很好的示例,其中介绍了如何为SmartPtr引入此类策略以覆盖MS COM接口(interface)指针。
在COMRefCounted
中查找类SmartPtr.h
。
关于c++ - 在C++中,抽象接口(interface)可以与侵入式引用计数一起使用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17629388/