1. 程式人生 > >C++ 管理數據內存的方法

C++ 管理數據內存的方法

stat 後進先出 sta 它的 離開 兩種 分開 聲明變量 調用

C++有3種管理數據內存的方式:自動存儲、靜態存儲和動態存儲(有時也叫做自由存儲空間或堆heap)

1. 自動存儲

自動變量是一個局部變量,作用域為包含它的代碼塊。

自動變量通常存儲在棧中,執行代碼塊時,其中的變量依次加入到棧中,離開代碼塊時,按相反的順序釋放這些變量,這被稱為後進先出(LIFO)。

2. 靜態存儲

靜態存儲是整個程序執行期間都存在的存儲方式。使變量成為靜態的方式有兩種:一種是在函數外定義;一種是在聲明變量時使用關鍵字static。

3. 動態存儲

指由new和delete管理的內存池。該內存池與自動變量和靜態變量的內存是分開的。

使用new運算符在自由空間上創建變量時,沒有調用delete將會發生內存泄漏。

C++ 管理數據內存的方法