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; }
相關文章
相關標籤/搜索