如何在C ++中删除指针但不删除指针指向的对象? 提前谢谢。
答案 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