编程技巧学习笔记之对象池

在练习项目坦克大战中,运行发现比较卡,原来是处理子弹的时候动态new的。这样频繁地开辟、释放内存会降低运行效率。

听一位师兄说可以这样优化处理:

子弹分为三个状态:

出生时born,飞行时moved,销毁时destory,

born destory 状态 子弹保存在queue

moved 状态 子弹保存在list

预先new 出若干的子弹,保存到队列queue,

开火时从queue取出子弹,取出的子弹放到list,

销毁时再把子弹保存到queue,从list取出该子弹。

子弹在list 与queue之间来回存取,暂时不用delete

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值