首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当指针所指向的对象被另一个类的实例删除时,重新分配指针

当指针所指向的对象被另一个类的实例删除时,重新分配指针
EN

Stack Overflow用户
提问于 2019-05-21 18:58:09
回答 1查看 46关注 0票数 0

我正在创建一个塔防御游戏模型,在那里敌人试图在他们被摧毁之前穿过屏幕。

指向动态分配的Enemy对象的指针存储在EnemyManager类中的一个向量中,该类控制它们如何产生和释放。当敌人的生命值达到零时,EnemyManager会使用delete删除它,也会使用指针erases来删除它。

我有一个BulletTower对象,用来锁定一个敌人并射击直到它被摧毁,然后再锁定另一个敌人。这需要一个指向Enemy对象的指针,但是如果Enemy死亡并被EnemyManager删除,指针就会悬空。

似乎没有一种方法可以让指针判断被锁定的敌人是否被摧毁。我研究了智能指针,但似乎共享指针不起作用,因为当敌人的健康达到零时,他们会被手动删除。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 19:04:46

Weak pointer或许可以完成这项工作。

此外,你可以给出一个函数或对象,如果它还活着,它会返回当前锁定的敌人,或者返回一个新的敌人,而不是给出一个指向BulletTower的敌人指针。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56236815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档