新手指针疑问,指针的 new 与 delete
 int *p = new int;
 *p = 1;
 int *q = p;
 delete q;
 p?

http://www.csdn.net/#

2个回答

delete p不会改变p的值,只是它指向的地址被标记为已经回收了,可以再次分配给别的变量。
所以delete p后,*p的值无法预料,可能=1,也可能不等。p不会变。
你在delete后需要加上
p = null;

yangsd18118
sdyang.chd int *p = new int; *p = 1; int *q = p; delete p; q? 开始的问题打错了
接近 6 年之前 回复

你应该new跟delete对应,q只是一个栈上指针,不需要去释放。还是delete p;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐