gpt4 book ai didi

c++ - 处理内存,垃圾收集器之类的

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:43 26 4
gpt4 key购买 nike

我有一段代码进行了大量的内存分配。

我想知道是否有一种模式可以实现以重用以前删除的内存(因为我构建了很多分配内存的临时对象,如 int*char* 等。但它可能非常大)。

我的目的是优化,所以即使在使用临时对象时我也想重用内存而不是“删除”它。

可能不够清楚,让我知道,以便我可以发布一些代码来向您展示问题。

最佳答案

将临时对象的创建委托(delegate)给一个类。

正如 Dan 所指出的,您需要通过在该类中重载 new 和 delete 运算符来实现内存管理器 Or Pool。

在第一次调用 new 时分配大块内存并将其分成固定大小的 block 。继续将这些 block 用于临时对象。调用 delete 时,只需更新该 block 的分配状态。

使用完临时对象后删除大块。

关于c++ - 处理内存,垃圾收集器之类的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16592572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com