缓存对象
caching objects
我有一个std::vector<Character*>
,它将包含几个不同的派生类Character
,为了这个问题的目的,我只称之为Enemy1
、Enemy2
和Player
。我见过其他情况,有人有一个数组,例如 Character characters[30]
但由于我需要多态性,我认为这对我不起作用(我可能是错的)。
本质上,我的问题是实现,如何以这种方式设置/缓存多个字符以供重用?我正在研究这个(http://gameprogrammingpatterns.com/object-pool.html),我不确定向量是否可以以相同的方式工作。例如,如果向量中的一个对象已使用 new Enemy1()
实例化,我以后是否可以覆盖它并将其设置为 new Enemy2()
?我应该为每种敌人类型设置单独的矢量/数组吗?
可以从std::vector<Character*>
访问您的角色。但是,要为许多可能的字符类型创建数据池,通常需要单独的向量*。
看看我最近问的这个相关问题。我得到了这篇文章的参考,你可能会觉得有用。
*注意:我相信,通过一些技巧,可以将各种类型存储在单个向量中,只要它们在内存中都具有相同的大小。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- C++具有内置缓存 - 阴影模板参数的对象工厂
- std::array 在存储大型对象时是否仍然对缓存友好?
- C ICU库如何确定要缓存的日历对象
- 如何缓存从MySQL数据库创建的对象
- 缓存对象
- 如何LRU缓存大量由C++STL重结构组成的对象
- C++:缓存JSON而不是对象可以减少内存消耗吗
- 如何缓存1000个大型C++对象
- 缓存对象应该直接从文件系统中读取吗?
- 同步对象是否可缓存?
- LRU缓存和快速定位对象通常使用哪些数据结构
- 带引用计数器的对象缓存
- 有多少对象(包含 std::vectors)加载到 L1/L2/L3 缓存中
- 共享 PTR - C++ 如何使用引用计数管理对象缓存
- 线程缓存的对象引用