在一个C/C++程序中,如果使用了堆内存的管理机制,那么内存究竟是怎么分配与回收的呢?
先看一个程序:
#include <iostream>
using namespace std;
int main (void)
{
int *x = new int;
int *y = new int;
*x = 1;
*y = 2;
cout << "*x = " << *x << endl;
cout << "x = " << x << endl;
delete x;
int *z = new int;
*z = 3;
cout << "*z = " << *z << endl;
cout << "z = " << z << endl;
*x = 5;
cout << "*z = " << *z << endl;
return 0;
}
输出的结果是:
咋一看,很惊讶,为什么我