如果我动态地将内存分配给一个静态变量,我应该释放它还是自动释放它?
static int* p;
int f(){p = new int[50];}
destructor::~destructor{delete p;}
答案 0 :(得分:0)
当然,你必须自己释放它!为什么它会自动释放它指向的内存?这是动态分配的想法,你选择什么时候摆脱内存!指针本身p
将被销毁,但它指向的内存将保持不变,除非你先delete p
(即解除它指向的内存)。它不会因为p
为static
而改变任何内容。