【发布时间】:2011-09-14 03:34:41
【问题描述】:
我已经编写了自己的内存库,它可以帮助我避免内存泄漏和碎片问题。一切正常。主要问题是它不适用于类。当我调用 my_alloc(size) 时,我想自动调用构造函数(如果存在)。我可以在不重载 new 运算符的情况下做到这一点吗?
【问题讨论】:
-
这取决于您需要发布更多 API。
-
我怀疑你自己的内存库并没有真正改进你的操作系统提供的 malloc 实现。
-
@DeadMG:这是一种线性分配器。如果不详细说明,则类似于: void *memory_pool = malloc(10000); void *my_alloc(size) { return first_free_section_in_memory_pool; }
-
我怀疑它隐藏了内存泄漏而不是避免它们。
-
标准内存管理器已经开发了 2 多年,它非常好。如果没有同等数量的工作,您不太可能改进它(即您已经落后于曲线 30 人年)。
标签: c++ memory memory-management malloc new-operator