gpt4 book ai didi

c++保存对象的分配和删除

转载 作者:行者123 更新时间:2023-11-27 22:58:25 24 4
gpt4 key购买 nike

我目前正在开发一个小游戏,我需要经常分配和删除一些类/结构。我想知道这是一种保存删除的方法,也许将删除对象放在一个容器中,并在我想分配该类的实例时尝试在这个容器中获取。

我在考虑 new 和 delete 运算符的重载。但是我有一个小问题,如果我重载删除运算符(将“已删除”对象放入容器中),如何删除它?我应该通过适当的功能来做到这一点吗?

最佳答案

有两种方法可以解决这个问题

1) 对象池。当你“分配”时,你从池中取出一个对象,当你取消分配时,你将它返回到池中。这不是那么透明,但实现起来并不困难。

2) 为您的类/结构创建自定义分配器。你在一个大缓冲区中预先分配内存,当你需要分配时,你从那里获取内存,当你需要释放时,你返回内存(实际机制取决于你)。这有点难以实现,但可以更加透明。

检查以下链接以获取想法

此外,当您阅读时,还有一本 Alexandrescu 的好书

http://www.amazon.com/Modern-Design-Generic-Programming-Patterns/dp/0201704315

有点旧,但仍然非常出色,并且有一个内存管理/分配器部分。

关于c++保存对象的分配和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30231751/

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