存儲類
[轉自]通關旅的博客
在C++中有5個存儲類說明符,auto,register, extern mutable 和static.
存儲類說明符可以分為兩個存儲類,"自動存儲類"和"靜態存儲類"
auto和register用于聲明自動存儲類的變量,此類變量是在進入聲明的塊時創建的,它們只存在與塊被激活的期間,當程序執行退出塊時,這些變量就會被刪除。
只有變量可以作為自動存儲類,函數的局部變量和參數通常屬于自動存儲類。
auto double x, y;
注意:用自動存儲可以節省內存,我做程序的宗旨就是簡單有效的是使用內存,為了能有效的使用內存,
我都是盡量有效的規劃我的資源.
對比auto,register 只能隨局部變量和函數參數一起使用。
register int x = 1;
關鍵字extern 和 static 是用于聲明變量和靜態存儲類函數的說明符,它們存在于程序開始執行時,程序在開始時就為它們分配了初始化的存儲空間,但并不意味著這些標識符可用于整個程序中,其還有作用域的約束 。