我不了解什么是迷途指针。
对已经释放的指针的再次访问,会造成程序异常。
对已经释放的指针的再次访问,会造成程序异常。
成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
但是书上说,对空指针的释放不会造成程序异常啊?
你可以试试下面的代码:
#include<iostream>
#include<cctype>
using namespace std;
int main()
{
cout<<"OK!@\n";
int *p=new int(2);
delete p;
cout<<"OK!@\n";
p=0; //好象注释掉这句话也没有影响啊!
delete p;
cout<<"OK!@\n";
system("pause");
return 0;
}
[此贴子已经被作者于2006-4-29 11:53:37编辑过]
用我们意思是 野指针
给0是怕以后人为的再次用到产生错误
或者不经意把该指针内不确定的内容修改
但是书上说,对空指针的释放不会造成程序异常啊?
delete p之后的指针不是空指针,只是p指向的内存被释放掉了,p本身没有是放,它指向了不合法的内存。这是后访问p就会造成程序异常。
我是这个意思。
我知道delete p 不是空指针,所以p=0就是空指针了