如何删除指针但不删除指针指向的对象? C ++

时间:2013-09-05 18:59:12

标签: c++ pointers

如何在C ++中删除指针但不删除指针指向的对象? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

指针将超出范围。您不需要“删除”指针。您只需要释放指针所指向的内存。

答案 1 :(得分:0)

你永远不会删除指针explicite (除非你动态分配它们),它是在堆栈上创建的,并且像通常的堆栈变量生存期一样被删除

int* avoid_leaker;
{
int* i_ptr = new int(7);
avoid_leaker = i_ptr; 
} // here i_ptr is gone but new int created on heap remains!
  // we assigned it to avoid_leaker to avoid  leak

http://en.wikipedia.org/wiki/Memory_leak