我在考虑使用boost::object_pool,但是要存储的对象类型都在相同的层次结构中。我的问题是,我需要如何存储和使用池来将每个对象转换为所需的类型。
我的客户将祖先存储为池的一种类型,然后将返回的带有dinamyc类型的对象转换为适当的类型。
对象池是最好的替代方案吗?
需要一些指导:)提前谢谢
编辑:你们都是对的。我在考虑传统的造型newObj = (newType)oldObj。抱歉的。
发布于 2011-07-08 01:11:55
为了存储多态对象,惯用的解决方案是将基类的指针存储在基于值的容器中。
您当前的按值存储多态对象的解决方案不起作用,因为它受到slicing的影响。boost object pool只不过是一个花哨的分配器和解除分配器,它不提供多态性。
发布于 2011-07-07 18:05:49
boost::object_pool主要用于分配大量相同类型的对象。您不应该将它们用于对象层次结构。
https://stackoverflow.com/questions/6608835
复制相似问题