C++ - 连续内存和多态性

标签 c++ memory-management

我有一个名为 GameObject 的基类,其他类从中派生。 我想知道通过在连续内存中分配 GameObjects 的所有派生类来处理内存分配是否会提高性能。

我将在每个游戏引擎框架中迭代所有这些。

我的问题是,在这种情况下,连续的内存存储是否比没有连续的 malloc 内存给我更快的迭代时间?在这两种情况下,我都必须保留指向游戏对象的指针 vector ,因为它们的大小会有所不同。

最佳答案

迭代连续内存中的对象可能效果更好,因为缓存和局部性。但是,我建议您构建这两个系统并实际分析它们。祝你好运!

关于C++ - 连续内存和多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10034263/

相关文章:

c++ - 在 googletest 或 cppunit 下移动参数化测试

c++ - 将输出为速度测试测验的 C/C++ 程序

c++ - 如何安全地重载 std::unique_ptr 的自定义删除器?

c - C中的动态分配

java - 使用子对象 Java 访问父字段

c++ - 删除双向链表中的节点 (C++)

c++ - 对于由其他对象组成的 C++ 类,将这些成员对象设为指针是一种好习惯吗?

c++ - 无法使用内存位置更改 const 值

c++ - 记录重新抛出错误的函数

swift - 如果传递很多,Swift 中的结构会导致内存问题吗?