boost :: flyweight会引用计数吗?

lur*_*her 2 c++ boost flyweight-pattern boost-flyweight

我一直在阅读文档,boost::flyweight但我没有看到任何提及解除分配或引用计数政策.基本上,flyweight对象应该像不同值的存储库一样,但不清楚当不再使用不同的值时会发生什么.

它已经被支持了吗?是否可以通过一些定制工厂启用?

ild*_*arn 6

与Flyweight中的大多数事情一样,此行为由策略决定,特别是由跟踪策略决定.在默认的跟踪策略refcounted:

跟踪策略提供带有引用计数语义的flyweight实例:当与给定值关联的所有flyweight对象都被销毁时,相应的条目将从flyweight的内部工厂中删除.