1.自動存儲,靜態存儲和動態存儲
? ? ? ? c++有3種管理數據內存的方式:自動存儲,靜態存儲和動態存儲(有時也叫自由存儲空間或堆);C++其實還有第4種類型----線程存儲;
? ? ? ? 第一,自動存儲,在函數內部定義的常規變量使用自動存儲空間,被稱為自動變量;在所屬的函數調用時自動產生,函數結束自動消亡;
????????有沒有想到什么?是不是和局部變量很相似,實際上自動變量就是一個局部變量,其作用域為包含它的代碼塊;
? ? ? ? 自動變量通常存儲在棧中,后入先出(LIFO);
? ? ? ? 第二,靜態存儲,是整個程序執行期間都存在的存儲方式;使變量成為靜態的方式有兩種:一種是在函數外面定義它,第二是在聲明變量時使用關鍵字static;
????????第三,動態存儲,new和delete提供了一種更靈活的方法,它們管理了一個內存池,這在c++中被稱為自由存儲空間(free store)或堆(heap);
2.類型組合
????????