我正在用 C++ 编写一个游戏,我遇到了这个设计问题:
我有一个基类,Entity
用于调用游戏中的所有对象。为了使用继承,我将指针存储在我的octree
. 在我的游戏中,有些对象将由其他对象的方法创建。问题是:我可以在哪里存储以这种方式创建的对象,以便它在游戏期间保持不变,以便我存储的指针有效?
我不想使用,new
因为我可能会以这种方式创建数百甚至数千个对象,而且我听说new
很慢。
到目前为止,我提出的唯一方法是拥有一个存储所有这些对象的大向量。向量可能会被初始化为一个巨大的大小,这样它就不必调整自己的大小并弄乱我的指针。不过,这似乎相当愚蠢。
第一:不要太担心性能。遵守一些基本规则,你会没事的:
对你的项目来说最重要的是:考虑结构和设计
至于你的具体问题:有一个“ObjectManager”类很好。作为第一个实现,向量也很好,只需将其隐藏为实现细节,以便以后需要时可以更改它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句