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