int a, *p;
p = new int;
a = 5;
*p = a;
delete p;
cout << *p << endl;
输出结果:5
即使delete掉p之后,仍然可以使用
int a, *p;
p = new int;
a = 5;
*p = a;
delete p;
cout << *p << endl;
输出结果:5
即使delete掉p之后,仍然可以使用
delete只是释放堆中的空间,并没有将p指针的值改为NULL,所以p仍指向堆中的相应位置(但此位置已被收回可以随时被分配给别的对象,而被更改为其他值)