Я знаю, что всякий раз, когда я создаю новый объект для класса, этот объект хранится в памяти. Я также знаю, что при создании этого объекта его можно получить только в пределах набора фигурных скобок, в котором он создан (видимость видимости). Мне нужно найти способ удалить этот объект за пределами скобок, в котором он создан. Я кратко рассмотрел интеллектуальные указатели, и возможно, это то, что я хочу использовать? Я предполагаю, что это так, я просто не знаю точно. Если интеллектуальный указатель может удовлетворить мои потребности, попросил бы кто-нибудь дать мне пример того, как использовать интеллектуальный указатель для доступа к объекту за пределами того места, где он был создан? Спасибо :)Как удалить объект без доступа к нему?
EDIT:
Пример того, что я пытаюсь сделать:
class ModernWarfare2
{
//my class
ModernWarfare2();
};
DWORD XamHook(DWORD r3, DWORD r4, DWORD r5)
{
switch(XamGetCurrentTitleId())//a function that tells what game is being played
{
case Xbox360Dashboard://if i were to exit the game mw2
{
if(CODAllocated)//a boolean
{
//free the memory of the previous cod game
if(MW2Allocated)//another boolean
{
delete[] MW2;//gives me an error because i dont have access to MW2
}
}
break;
}
case COD_MW2:
{
if(!CODAllocated)
{
if(!MW2Allocated)
{
ModernWarfare2 *MW2 = new ModernWarfare2();
}
}
break;
}
}
return XamInputGetState(r3,r4,r5);
}
Как исправить мою проблему?
_ «Я также знаю, что при создании этого объекта доступ к объекту возможен только в пределах набора фигурных скобок, в котором он создан.» _ Не обязательно. –
Я предполагаю, что я спрашиваю, как мне получить доступ к нему за пределами? – user3343925
Это очень похоже на проблему [** XY **] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). – juanchopanza