function stack,stack 是一種資料結構屬於後進先出,如下圖記體體空間簡單的來說第一塊擺全域變數靜態變數與程式碼,第二塊Heap擺動態變數,第三塊stack擺程式呼叫,一開始計算機會先執行main()接著創造新Foo物件*f 再呼叫Foo的成員方法setValue()將成員屬性m_value設為g_default_value,接著stack會按著程式呼叫順序的反方向回收記憶體,先回收f->setVaue()再回收main(),然後C++是沒有GC的語言一般的函式參數因為default keyword is auto所以隨著函示結束也會跟著回收,但物件Foo不是main函式的參數所以要主動回收delete f。