如果我有一个指向结构/对象的指针,并且该结构/对象包含其他两个指向其他对象的指针,我想删除“包含两个指针的对象而不破坏它持有的指针” - 我该怎么做?
指向对象 A 的指针(包含指向对象 B 的指针,包含指向对象 C 的指针)。删除对象 A 指向对象 A 的指针被删除,指向对象 B/C 的指针仍然存在。
我需要做些什么来完成这项工作吗?
更新
这是一个游戏项目,我希望这能解释它。现在,即使将两个指向 B、C 的指针放在第一个 Struct (A) 中,我也遇到了一些“问题”
struct Player
{
char * Name;
Weapon* PlayerWeapon;
Armor* PlayerArmor;
};
struct Weapon
{
char * Name;
int Damage;
};
struct Armor
{
char * Name;
int Resistance;
};
这在某种程度上是行不通的。
Player* CreatePlayer(char * Name, Weapon* weapon, Armor* armor)
{
Player *pPlayer = new Player;
pPlayer->Name = name;
pPlayer->Weapon = weapon;
pPlayer->Armor = armor;
};
之后当玩家“死亡”时,不应删除设备。