我将如何存储大量对象(如子弹或不断变化的对象),然后通过索引删除它们? 我听说 vector::erase 不是很有效。
最佳答案
使用 std::map
(或 C++11s std::unordered_map
),这些容器可以更好地分摊插入和删除操作的运行时复杂性。 std::list
也是一个选项(这是显而易见的选项,但我首先提到了其他选项,因为它们还允许快速查找/搜索,这在许多游戏场景中更为重要)。
在更高层次上,您绝对应该阅读 C++ 容器以及通常的运行时复杂性。明智地选择容器结构对于良好的性能至关重要。
关于c++ - 在 C++ 中存储大量短暂的游戏对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11417119/