如下代码
#include <iostream>
using namespace std;
int main()
{
int *a = new int(3);
cout << a << ' ' << *a << endl;
delete a;
cout << a << ' ' << *a << endl;
return 0;
}
在linux系统下输出结果如下:
0xc4f010 3
0xc4f010 3
0xc4f010 0
可以看出在delete后,指针变量仍然指向那块地址,delete只是回收了这块内存地址的内容。