首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怀疑使用对象池

怀疑使用对象池
EN

Stack Overflow用户
提问于 2011-07-07 18:03:00
回答 2查看 577关注 0票数 0

我在考虑使用boost::object_pool,但是要存储的对象类型都在相同的层次结构中。我的问题是,我需要如何存储和使用池来将每个对象转换为所需的类型。

我的客户将祖先存储为池的一种类型,然后将返回的带有dinamyc类型的对象转换为适当的类型。

对象池是最好的替代方案吗?

需要一些指导:)提前谢谢

编辑:你们都是对的。我在考虑传统的造型newObj = (newType)oldObj。抱歉的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-08 01:11:55

为了存储多态对象,惯用的解决方案是将基类的指针存储在基于值的容器中。

您当前的按值存储多态对象的解决方案不起作用,因为它受到slicing的影响。boost object pool只不过是一个花哨的分配器和解除分配器,它不提供多态性。

票数 2
EN

Stack Overflow用户

发布于 2011-07-07 18:05:49

boost::object_pool主要用于分配大量相同类型的对象。您不应该将它们用于对象层次结构。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6608835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档