我知道每当我为类创建一个新对象时,该对象都存储在内存中.我也知道,在创建该对象时,只能在其创建的大括号范围内访问它(范围可见性).我需要找到一种方法来删除创建它的大括号之外的那个对象.我简要地看了一下智能指针,它可能就是我想要使用的东西?我假设它是,我只是不确定.如果一个智能指针可以满足我的需求,有人会请我提供一个如何使用智能指针访问创建它之外的对象的示例吗?谢谢 :)
编辑:
我正在尝试做的例子:
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); }
我该如何解决我的问题?