構造体/オブジェクトへのポインターがあり、その構造体/オブジェクトに他のオブジェクトへの他の2つのポインターが含まれており、「保持しているポインターを破壊せずに2つのポインターを含むオブジェクト」を削除したい場合-どうすればよいですか?
オブジェクト A へのポインター (オブジェクト B へのポインターを含み、オブジェクト C へのポインターを含む)。オブジェクト A の削除 オブジェクト A へのポインタは削除されますが、オブジェクト B / C へのポインタはまだ存在します。
この仕事をするために私がしなければならないことはありますか?
アップデート
これはゲーム プロジェクト用です。これで説明がつくことを願っています。現在、最初の構造体 (A) 内に B、C への 2 つのポインターを配置しても、いくつかの「問題」があります。
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;
};
そして後でプレイヤーが「死ぬ」とき、装備は削除されるべきではありません。