C++的new和delete

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  int *p = NULL;      //定义变量,此时&p有值,但p = NULL,即不指向任何内存空间
  p = new int;        //在堆上分配一个内存空间,并使p指向它,p有了值,此时*p的值不确定
  *p = 1;          //*p的有了值,即p所指的空间有了值
  delete p;         //释放p所指的空间,*p的值不确定了,但p依然有值,即new所分配的空间的地址
  
  *p = 2;       //不报错,给p所指的空间复制   delete p; //挂掉
  
//所以delete p;之后,一定要p = NULL;   return 0; }