C++缓存对象

C++缓存对象,c++,caching,C++,Caching,我有一个std::vector,它将包含几个不同的字符派生类,为了解决这个问题,我将把它们称为Enemy1、Enemy2和Player。我也见过其他情况,有人有一个数组,比如字符[30],但由于我需要多态性,我认为这不适合我,我可能错了 本质上,我的问题是实现,如何设置/缓存多个字符以便以这种方式重用?我在看这个,我不确定向量是否能以同样的方式工作。例如,如果向量中的一个对象已使用new Enemy1实例化,我可以稍后重写它并将其设置为new Enemy2吗?我应该为每种敌人类型分别设置向量/数

我有一个std::vector,它将包含几个不同的字符派生类,为了解决这个问题,我将把它们称为Enemy1、Enemy2和Player。我也见过其他情况,有人有一个数组,比如字符[30],但由于我需要多态性,我认为这不适合我,我可能错了


本质上,我的问题是实现,如何设置/缓存多个字符以便以这种方式重用?我在看这个,我不确定向量是否能以同样的方式工作。例如,如果向量中的一个对象已使用new Enemy1实例化,我可以稍后重写它并将其设置为new Enemy2吗?我应该为每种敌人类型分别设置向量/数组吗?

可以从std::向量访问您的角色。然而,要为许多可能的字符类型创建数据池,您需要单独的向量,通常是*

看看我最近问的这个。我有这封推荐信,你可能会觉得有用


*注意:我相信,通过一些技巧,可以在单个向量中存储各种类型,只要它们在内存中的大小相同。

可能的参考:可能更好的方法是std::vector或std::vector。请看。我看了这段视频,实际上还不错,但是为一个还不存在的对象调用缓存并不需要像用new实例化一个对象并将其插入地图一样的努力吗?你多久添加和删除一次字符?足够保证一个游泳池吗?如果这真的是你的瓶颈,请考虑努力重载新的,然后为游戏实体/角色创建内存池。作为一个附带的好处,您还可以获得监视堆分配和跟踪内存泄漏的能力。