在C++中,內(nèi)存分成4個區(qū),他們分別是堆,棧,靜態(tài)存儲區(qū)和常量存儲區(qū)
  1)棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變量的存
  儲區(qū).里面的變量通常是局部變量,函數(shù)參數(shù)等.

  2)堆,又叫自由存儲區(qū),它是在程序執(zhí)行的過程中動態(tài)分配的,它最大的特性就是動.
  態(tài)性.由new分配的內(nèi)存塊,他們的釋放編譯器不去管,由我們的應(yīng)用程序去控制,
  一般一個new就要對應(yīng)一個delete.如果程序員沒有釋放掉,那么在程序結(jié)束后,
  操作系統(tǒng)會自動回收.如果分配了堆對象,卻忘記了釋放,就會產(chǎn)生內(nèi)存泄漏.而
  如果已釋放了對象,卻沒有將相應(yīng)的指針置為NULL,該指針就是"懸掛指針".

  4)靜態(tài)存儲區(qū).所有的靜態(tài)對象,全局對象都于靜態(tài)存儲區(qū)分配.

  5)常量存儲區(qū),這是一塊比較特殊的存儲區(qū),他們里面存放的是常量,不允許修改
  (當(dāng)然,你要通過非正當(dāng)手段也可以修改,而且方法很多)
  常量字符串都存放在靜態(tài)存儲區(qū),返回的是常量字符串的首地址.