最近在看cpp prime第六版,複習和補充一下基礎知識,有關c++記憶體洩露和智慧型指標的知識就不贅述了,這裡主要用乙個例子說明一下,先看乙個書中的圖,比較直觀:
**示例:
#include
#include
double
* pd0 =
nullptr
;double
* pd1 =
nullptr
;void
memory_leak()
void
no_memory_leak()
intmain()
linux下編譯及執行結果:
pd2』s addr: 0x557313b1fe70, value: 5, pd0』s addr: 0x557313b1fe70, value: 5pd3』s addr: 0x7ffea90a21e0, value: 6, pd1』s addr: 0x557313b202a0, value: 6
pd0』s addr: 0x557313b1fe70, value: 5
pd1』s addr: 0x557313b202a0, value: 0
C 智慧型指標示例
body p div td 使用智慧型指標的乙個示例 class u ptr u ptr class hasptr int get ptr val const int get val const void set int int i void set ptr int p void set ptr v...
c 智慧型指標與記憶體管理
c 中當我們需要新分配記憶體的時候需要手動的去呼叫new顯式的分配一塊記憶體,如果我們在任何中new 如函式中申請空間返回 忘記釋放,或者在 函式執行過程中出現異常,沒 有執行釋放語句 了空間,在不需要使用後忘記了呼叫delete這塊位址的話就會造成 記憶體洩露。為了解決這乙個問題引入了智慧型指標。...
C 動態記憶體與智慧型指標
qq 1841545843 郵箱 jiaxx903 163.com 靜態記憶體用來儲存區域性 static 物件 類的 static 資料成員,以及定義在任何函式之外的變數。棧記憶體用來儲存定義在函式之內的 static 物件。除了棧記憶體和靜態記憶體外,每個程式還擁有乙個記憶體池,這部分稱之為 堆...